Сильно не согласен по этому вопросу.
Возможно, что разработка через тестирование невозможна при использовании динамических макетов, потому что то, что вы тестируете, не обязательно то, что вы реализуете.
Представьте, что вы добавили цикл foreach, где вы сделали вызов db внутри цикла. Это очень плохо масштабируется. Если бы вы использовали динамические mock для моделирования ваших зависимостей, вы потенциально могли бы пропустить mock-вызовы db, следовательно, пропустили бы проблему масштабируемости, потому что вам не нужно было бы строго mock каждый вызов db.
public void myMethod()
{
externalMethod1.doSomething();
foreach()
{
externalDbCall.doSql();
}
}
public void testMyMethodWithDynamicMocksPassesAndMissesDbCallInLoop()
{
expect(externalMethod1.doSomething();
}
public void testMyMethodWithStrictMocksFailsAndHighlightsDbCallInLoop()
{
expect(externalMethod1.doSomething();
}