Я ищу, как сделать интеграцию для потока, для которого требуется 2 пользователя, в котором вы не можете прыгать по порядку.
User A does 1
User B does 2
User A does 3
User B does 4
User A does 5
...
Для этого тестовый код выполняется в случайном порядке; Я не могу написать серию тестов, таких как: test "user A does 1" do ... end
, и ожидать, что они будут выполняться последовательно
Итак, как написать интеграционный тест для описанной выше ситуации?
require 'test_helper'
class MyIntegrationTest < ActionController::IntegrationTest
test "Test interaction between 2 users" do
sign_in '[email protected]'
assert_response :success
get '/does/1'
assert_response :success
sign_out
sign_in '[email protected]'
assert_response :success
get '/does/2'
assert_response :success
sign_out
sign_in '[email protected]'
assert_response :success
get '/does/3'
assert_response :success
sign_out
sign_in '[email protected]'
# ahhhhhhhhhhhhhhhhhhhhhhhhhhh! .....
end
Имейте в виду, что тестирование контроллера может быть удалено в Rails 5.
https://github.com/rails/rails/issues/18950#issuecomment-77924771
Нашел это в проблемах с рельсами:
https://github.com/rails/rails/issues/22742