Разница между классической и лондонской школами юнит-тестирования заключается в понимании изоляции. www.software-testing.ru {8-host}
Лондонская школа понимает изоляцию как изоляцию тестируемого кода от его изменяемых зависимостей. www.software-testing.ru Все изменяемые зависимости (совместные и приватные) заменяются на тестовые двойники — «мокируются». www.software-testing.ru
Классическая школа подразумевает изоляцию не тестируемого кода, а тестов друг от друга. www.software-testing.ru Если тесты через зависимость могут влиять друг на друга при параллельном запуске, то эта зависимость меняется на тестовый двойник. www.software-testing.ru Все остальные зависимости, даже если они изменяемые, используются как есть. www.software-testing.ru То есть при таком подходе зачастую тестируется одновременно несколько связанных классов. www.software-testing.ru
Ещё одно различие заключается в определении юнита. dzone.com В лондонской школе юнит — это обычно один класс или метод класса, так как все другие зависимости мокируются. dzone.com Классическая школа может тестировать часть логики, состоящую из нескольких классов, потому что она проверяет единицу поведения, а не единицу кода. dzone.com