Мне не известен хороший способ сделать это, и, честно говоря, я думаю, что реальный ответ: сделать , а не сделать это.Да, другой ответ показывает способ достичь того, о чем вы просите, но затем:
Вы знаете, что должен делать ваш рабочий код.Значение: вместо написания одного фрагмента кода проверки, который позволяет «this или that», лучше написать два независимых теста, один для «this» и один для «that».
Другими словами: вы контролируете то, что входит в ваши тесты.Поэтому напишите один тест, который должен дать apply()
, и один, который должен дать commit()
.И затем verify()
этот один случай, который должен увидеть каждый тест!
Модульные тесты должны быть простыми.Когда что-то не получается, вы быстро просматриваете модульный тест и уже знаете, где искать производственный код, чтобы определить причину.Все, что добавляет сложности вашим тестам, может усложнить задачуЛучше иметь два теста, которые следуют четкому пути «когда проверять», вместо того, чтобы иметь один (или несколько) тестов, которые идут «когда проверяют это ИЛИ проверяют это».