Здравствуйте, landerhigh, Вы писали:
L>Рефакторинг в идеале есть изменение структуры кода без изменения функционала.
Все так. Собака зарыта в уровнях. Рефакторинг может быть на уровень выше тестов, и на своем уровне он функционал не ломает. А вот тесты уровнем ниже ломаются.
Здравствуйте, mrTwister, Вы писали:
T>О каком публичном API идет речь? Если это REST, или GRPC какой-нибудь, то юнит-тесты бесполезны, тут надо только настоящий веб-сервер запускать
Здравствуйте, landerhigh, Вы писали:
L>Он нигде не подразумевался и нигде не был описан. L>Он сформировался постфактум и неявно, когда клиенты наблюдаемое поведение посчитале зафиксированным в контракте. Клиент, конечно, не прав в том, что полагался на поведение, никем не гарантированное, но удачи объяснить ему, что ему нужно теперь перепрошить ПЗУ в 100500 девайсах по всему миру.
Все верно, важно, что "он сформировался", а как и при каких обстоятельствах, уже не важно
L>Ошибки в спецификациях неизбежны.
Не понимаю, с чем ты споришь. Разве я где-то говорил, что формальные спецификации никогда не нарушаются? Я так же не говорил, что надо поддерживать только формальные спецификации.
L>Ну то есть, если юнит-тест вдруг выявил проблему интеграционного уровня, то это забитый молотком шуруп?
Нет, если юнит-тест выловил ошибку, которую ты ошибочно называешь интеграционной, то это гвоздь, забитый молотком, который ошибочно был назван микроскопом.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>С чего ты взял?
В того, что оно с точки зрения интеграции модулей друг с другом ничем не отличается. От того, что там где-то глубоко в кишках отсутствуют сокеты (их же нет, я правильно понял?), мало на что влияет.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Каких таких модулей? Почему вдруг asp.net приложение это не модуль?
Не, ну если так натягивать сову, то конечно, юнит-тестами можно протестировать вообще всё. Типа "а почему 100500 взаимодействующих сервисов — это не модуль"?
Здравствуйте, mrTwister, Вы писали:
L>>Ну то есть, если юнит-тест вдруг выявил проблему интеграционного уровня, то это забитый молотком шуруп? T>Нет, если юнит-тест выловил ошибку, которую ты ошибочно называешь интеграционной, то это гвоздь, забитый молотком, который ошибочно был назван микроскопом.
Да вот насрать.
У меня достаточно серьезный опыт в данном вопросе, чтобы утверждать, что в компаниях (командах), замороченных на словоблудии "вот это функциональный, вот это интеграционный, а это — юнит тест", в итоге нет ни первых, ни вторых, ни третьих.
Именно в подобных случая мне доводилось наблюдать забивание шурупов шляпкой вперед электронными сканирующими микроскопами.