Подумайте об этом с точки зрения поведения, а не с точки зрения имеющихся методов. Вызываемый метод methodимеет особое поведение, если bистинно. Если bэто false, он ведет себя иначе . Это означает, что вам следует написать два разных теста для method; по одному на каждый случай. Таким образом, вместо трех тестов, ориентированных на метод (один для method, один для method1, один для method2, у вас есть два теста, ориентированных на поведение.
В связи с этим (я недавно предложил это в другом треде SO, и в результате меня назвали словом из четырех букв, так что не стесняйтесь относиться к этому с недоверием); Я считаю полезным выбирать имена тестов, которые отражают поведение, которое я тестирую, а не имя метода. Так что не называют тесты testMethod(), testMethod1(), testMethod2()и так далее. Мне нравятся такие имена, как calculatedPriceIsBasePricePlusTax()или taxIsExcludedWhenExcludeIsTrue()которые указывают, какое поведение я тестирую; затем в каждом методе тестирования проверьте только указанное поведение. В большинстве случаев такое поведение будет включать только один вызов общедоступного метода, но может включать много вызовов частных методов.
Надеюсь это поможет.