Я хотел бы знать, могу ли я высмеять вызов конструктора суперкласса и его вызовы super().Mock конструктор суперкласса
Например, у меня есть следующие классы
class A
{
A(..)
{
super(..)
}
}
class B extends A
{
B(C c)
{
super(c)
}
}
Итак, я планирую модульного тестирования некоторые методы в классе В, но при создании экземпляра это называют конструкторы супер-класса, что делает его жестким, чтобы написать модульные тесты. Итак, как я могу высмеять все вызовы конструктора суперкласса. Также я хотел бы высмеять несколько методов в классе A, чтобы он возвращал несколько значений по мере необходимости.
Спасибо!
Что * точно * затрудняет тестирование B? Тот факт, что он называет конструкторы суперкласса, не является * неотъемлемо * проблематичным. Вы должны пытаться высмеять * зависимости *, а не поведение самого объекта. –
Я обсуждаю [подавление ctors с помощью PowerMock с EasyMock в этом сообщении блога] (http://buckybits.blogspot.com/2011/11/testing-singletons-and-static-classes.html), у меня нет Mockito версия. Однако неясно, хотите ли вы уничтожить ctor или заменить его. –
@ Jon Skeet. да, я понимаю это, но для того, чтобы добиться этого, он сложный и запускает несколько потоков в фоновом режиме, вызывая множество внешних зависимостей, которые не нужны для моего модульного теста. – Rishi