Я только учусь, как выполнять тестирование контроллера / интеграции Rspec, и я заметил множество примеров, которые выглядят примерно так:
let(:valid_attributes) { { name: 'John Doe', age: 32, title: 'Manager', startData: Time.now } }
let(:valid_session) { {} }
затем что-то вроде:
describe "POST #create" do
it "create user" do
post :create, params: {:valid_attribute}, session: valid_session
expect(response).to redirect_to login_url
end
end
Это правильно?Средняя часть - это то, что params
проходит правильно?(Где вызывается :valid_attribute
? Много раз я вижу на get
запросах, где это пусто? Я предполагаю, что передача параметра в запросе get просто добавит его к URL-адресу, например /login/?=something
В любом случае мои вопросы звучали так:
В середине, где определены параметры (я полагаю), мне нужно назвать модель? IE: должно ли это быть params: {:valid_attribute}
или params:{:user :valid_attribute}
Я немного сбит с толку, почему я вижу session
, определенный, особенно когда он пуст?"вошел в систему ... но почему мы пропускаем пустой? (я вижу это на многих примерах)
Если есть более правильный способ написать это,я знаю. Я только сейчас погружаюсь в них!
Спасибо
Как вид, я вижу различные формы get
или post
. Иногда это будет get '/index'
, но иногда этоget :index
. Какой правильный путь? Я предполагаю, что rspec сопоставляет символ для теста контроллера с действующимДействие контроллера.