Angular рекомендует использовать Jasmine для своей среды тестирования, но чем больше я работаю с Jasmine, тем больше я беспокоюсь о хрупкости моих модульных тестов.В настоящее время я использую заглушки и шпионы для предоставления зависимостей функциям, но меня беспокоит поведение тестов при добавлении функциональности в кодовую базу.
Например, когда шпионы используют dependency = jasmine.createSpyObj(['method1', 'method2'])
,вызов метода dependency.method3 () при реализации новой функции может привести к сбою тестов, так как method3 не существует на шпионах.
То же самое применимо, если я использую заглушки, как описано в угловой направляющей , так как мне нужно было бы создавать функции заглушек, используя jasmine.spyOn или аналогичные методы.
В идеале,этот случай не должен привести к провалу и делает мои тесты невероятно хрупкими.Я могу решить эту проблему, издеваясь над всем интерфейсом класса, но это не идеально.
Есть ли способ избежать этого?