|
Когда тест в junit считается успешным.
|
|||
---|---|---|---|
#18+
mad_nazgulunit-тесты в понимании методологии TDD, это тест, который не имеет контекста.TDD не определяет что такое модульные тесты. TDD - это о том как переплетать написание тестов и prod кода. mad_nazgulЭто уже не unit-тест, т.к. то что мы тестируем явно имеет состояние, которое мы должны передать тесту. И оно может быть разным в зависимости от окружения. Например, в зависимости от переменных среды.Тут дело не в состоянии, а в том что есть обращение к внешнему окружению. mad_nazgulИМХО правильнее их называть все таки интеграционными тестами, т.к тестируется часть контекста спринга.Ну дак это все ИМХО, ни на чем не основанное. Почитай статью по ссылке. Тут нет четкой терминологии. mad_nazgulПоведение программы тестируют интеграционные тесты. Т.к. они воспроизводят некоторую последовательность действий. И проверяют результат.Все то же относится и к модульным тестам. Они что-то вызывают, а потом проверяют результат. mad_nazgulКроме того, unit-test имеет смысл писать ДО написания реализации, а не ПОСЛЕ.Их имеет смысл писать всегда . Потому как они защищают нас всякий раз когда мы меняем что-то внутри классов. И это их главная задача. Модульные тесты писали и до TDD. Более того - я нередко пишу в TDD и не модульные тесты тоже. Получаю все тот же профит, что и при TDD с модульными тестами. Основное отличие модульных и высокоуровневых тестов: сложность, скорость, кол-во компонентов которые они проверяют вместе, доступ к окружению. B это все никак не относится к TDD. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 11:05 |
|
Когда тест в junit считается успешным.
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Их имеет смысл писать всегда . Потому как они защищают нас всякий раз когда мы меняем что-то внутри классов. И это их главная задача. Модульные тесты писали и до TDD. Более того - я нередко пишу в TDD и не модульные тесты тоже. Получаю все тот же профит, что и при TDD с модульными тестами. Основное отличие модульных и высокоуровневых тестов: сложность, скорость, кол-во компонентов которые они проверяют вместе, доступ к окружению. B это все никак не относится к TDD. Насчет того, что тесты нужно писать всегда - согласен. Просто надо понимать, что если хотите 100% покрытие тестами, то писать лучше в стиле TDD. т.е. пишем тест, потом под него реализацию. Если же наоборот, то начинаются проблемы. Нужно ли их "героически преодолевать"? Думаю не стоит. Т.к. один интеграционный тест может соответствовать до 50% unit-test. По моему unit-test это инструмент разработчика, для разработки, который заточен под определенный стиль программирования. И слепо пытаться внедрить их везде, это "карго культ". Мне гораздо приятнее работать с кодом, который покрыт тестами, чем с кодом без тестов. Но я понимаю, что unit-test не все умеют писать.:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 15:50 |
|
|
start [/forum/topic.php?fid=59&startmsg=40074302&tid=2120433]: |
0ms |
get settings: |
17ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
50ms |
get tp. blocked users: |
0ms |
others: | 398ms |
total: | 513ms |
0 / 0 |