Если вы пытаетесь проверить, что данные находятся в базе данных после теста, это не будет иметь место из-за того, как выполняются тесты.
Тесты для Rails запускаются внутри транзакций базы данных (по умолчанию 1 ), поэтому он будет продолжать создавать данные внутри теста и выполнять все ваши утверждения, но как только все будет сказано и сделано, он будет откатить эту транзакцию, оставив базу данных в первоначальном состоянии.
Причина для этого заключается в том, что база данных всегда чиста, и у вас нет просто лежащих записей, которые потенциально могут изменить результаты испытаний.
1 Хотя это можно изменить, отключив настройку (я забыл, что это такое в Test :: Unit land) или используя такие инструменты, как database_cleaner .