Это СУПЕР старый вопрос, но у меня была похожая проблема только сейчас, когда я просматривал учебник по рельсам.
У меня есть метод настройки в начале моего интеграционного теста UsersLoginTest, и по какой-то причине прибор, на который я ссылался, не работал внутри тестов. Мне нужно было поставить строку вверху теста @user = users (: michael), чтобы она заработала.
В конце концов, я обнаружил, что я продублировал объявление Class вверху файла, скопировав его LAZY и вставив из учебника. Так что, если кто-то еще сталкивался с этой темой с аналогичной проблемой, связанной с неработающими приборами, проверьте, не сделали ли вы ту же самую глупую ошибку, что и я, и дублировали верхнюю часть файла!
require 'test_helper'
class UsersLoginTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
end