Имам следния клас:
public class LegacyClass()
{
public LegacyClass(final int aModeOfOperation)
{
if (aModeOfOperation == 0)
{
addSomeValues();
addSomeValues();
}
else if (aModeOfOperation == 1)
{
addSomeValues();
}
}
private void addSomeValues()
{
}
}
Искам да напиша единичен тест, който да провери това
- извикването
LegacyClass(0)
кара частния методaddSomeValues
да бъде извикан 2 пъти и - извикването
LegacyClass(1)
кара частния методaddSomeValues
да бъде извикан веднъж.
Знам, че е възможно да се използват шпионски обекти в Mockito/PowerMockito за преброяване на броя извиквания на частни методи, но AFAIK тези подходи работят само ако въпросните методи се извикват след конструкцията на тествания клас .
Възможно ли е да се напише модулният тест, описан по-горе, без да се променя конструкторът на LegacyClass
?
addSomeValues()
се извика два пъти? Тестване в черна кутия › тестване в бяла кутия, дори на ниво клас. - person vikingsteve   schedule 28.11.2013LegacyClass
, вашите тестове все още трябва да работят зелено! - person vikingsteve   schedule 28.11.2013