Лучший способ думать об этом - проверять по одной вещи за раз.Используйте столько утверждений, сколько необходимо для проверки одной вещи, но обычно только одну.Многократные утверждения могут быть признаком того, что вы тестируете более чем одну вещь за раз, но это, на мой взгляд, не жесткое и быстрое правило.Лучшее руководство заключается в том, что вы не хотите создавать в своих тестах зависимости между независимыми концепциями.
В вашем примере вы на самом деле тестируете 4 вещи, хотя вам, вероятно, нужны только две из них, поскольку они охватываютна той же земле.Я бы посоветовал проверить, что происходит, когда вы добавляете два положительных числа, два отрицательных числа и отрицательное и положительное с отрицательными и положительными результатами.Тогда я бы подумал о математических свойствах и тестовой коммутативности и аддитивной идентичности (ноль).Наконец, я бы протестировал граничные условия - положительное и отрицательное переполнение и т. Д. Обратите внимание, что это может или не может быть исчерпывающим, то есть я думаю, что я охватил основы, но я не слишком стараюсь, чтобы быть исчерпывающим;Я просто хочу проиллюстрировать, как вы будете думать о том, какие тесты писать, и, да, я бы сделал каждый из этих отдельных тестов с одним утверждением.
Для чего-то более сложного, у вас может быть большечем утверждают, что тестирует ту же «вещь» - например, вы можете проверить, правильно ли вставлена строка в БД с заданным набором входных данных.Я думаю, что вполне приемлемо проверить, что все столбцы имеют правильное значение в одном тесте, а не тестировать каждое свойство в отдельности.Другие могут отличаться, но я не думаю, что в этом случае вы создаете какие-либо зависимости, проверяя, что все свойства имеют свои правильные значения, потому что вставка является атомарным действием.