Я уже некоторое время преподаю в классе по TDD, и многие участники начинают с тестирования всех ошибок. Как бы они ни были важны, это не лучший способ начать ИМО.
Начните с настройки тестов, которые легко внедрить, и при этом вы узнаете, движетесь ли вы в правильном направлении в отношении функций, которые вы пытаетесь реализовать. Поэтому, если вы строите стек, убедитесь, что вы проверяете push и pop перед тестированием ошибок.
Помните, что цель теста - не только проверить поведение, но и позволить вам использовать интерфейс тестируемого типа. Если написание тестов кажется неправильным, вам, вероятно, нужно изменить интерфейс.
Хорошая идея - выполнить каждый тест в обратном порядке. Итак, начните с написания утверждения Assert. Это цель проверки для этого теста. Затем добавьте все необходимые шаги, чтобы добраться до точки, где вы можете делать то, что делает Assert.