Pomyśl o tym w kategoriach zachowania, a nie w kategoriach dostępnych metod. Wywołana metoda methodma określone zachowanie, jeśli bjest prawdziwe. Zachowuje się inaczej, jeśli bjest fałszywe. Oznacza to, że powinieneś napisać dwa różne testy method; po jednym w każdym przypadku. Więc zamiast trzech testów zorientowanych na metodę (jeden za method, jeden za method1, jeden za method2, masz dwa testy zorientowane na zachowanie).
Związane z tym (zasugerowałem to niedawno w innym wątku SO, iw rezultacie zostałem nazwany czteroliterowym słowem, więc możesz to wziąć z przymrużeniem oka); Uważam, że pomocne jest wybranie nazw testów, które odzwierciedlają zachowanie, które testuję, zamiast nazwy metody. Więc nie nazywaj swoje testy testMethod(), testMethod1(), testMethod2()i tak dalej. Lubię takie imionacalculatedPriceIsBasePricePlusTax() lub, taxIsExcludedWhenExcludeIsTrue()które wskazują, jakie zachowanie testuję; następnie w ramach każdej metody testowej testuj tylko wskazane zachowanie. Większość takich zachowań obejmuje tylko jedno wywołanie metody publicznej, ale może obejmować wiele wywołań metod prywatnych.
Mam nadzieję że to pomoże.