Вместо «Один тест на функцию» попробуйте думать об этом как «Один аспект поведения на функцию».
Что дает вставка объекта? Как насчет удаления объекта? Почему это ценно? Как вы можете сказать, что вы сделали их? Напишите пример того, как можно использовать код и почему это поведение ценно. Это становится твоим испытанием.
Когда вы выясните, какое поведение вас интересует, извлеките дубликат , только если он сделает тест более читабельным . TDD - это не только тестирование; это также относится к предоставлению документации и помогает вам задуматься об ответственности каждого элемента кода и его дизайне. Тесты, вероятно, будут прочитаны гораздо больше, чем написаны, поэтому читаемость должна быть на первом месте.
Если необходимо, поместите все интересующее вас поведение в один метод и просто убедитесь, что он читабелен. При необходимости вы можете добавлять комментарии.