Ваш контроллер не обязательно нарушает SRP, выполняя две вещи - он все еще имеет только одну ответственность (контроль).
В этом конкретном примере яЯ бы предостерег от утверждения о том, что вызов журнала сделан - это не повлияет на функциональность вашего приложения, если вы уберете оператор журнала.Из-за чрезмерных спецификаций юнит-тестов они становятся хрупкими и неудобными для обслуживания, что является одной из причин, по которым я так люблю BDD.
Если вам приходилось проверять каждую неудачную попытку, тогда, я думаю, это стоит единицытестирование, так что если это то, что вы делаете, то читайте дальше:
В общем, у вас должно быть только одно утверждение (возможно, вам придется вызвать метод Assert или два, чтобы сделать одно семантическое утверждение) на единицуtest - в основном потому, что приятно иметь возможность посмотреть на название проваленного теста и точно знать, что пошло не так, без необходимости смотреть на код.Так что я бы выступил за проведение двух тестов ...