在Rails(5.2)项目中,我想根据测试夹具中的不同对象对系统测试(Capybara)进行参数化。 我有:
class SomethingWithUsers < ApplicationSystemTestCase
setup do
@user1 = users(:test_user1)
@user2 = users(:test_user2)
end
test "some_test" do
login @user1
do_stuff
assert other_stuff
end
end
,我有一个users.yml装置。
因此,现在我不想参数化some_test
我尝试过:
[@user1, @user2].each do |user|
test "some_test" + user.name
login user
do_stuff
assert other_stuff
end
end
但user
为零。因此,显然我无法以这种方式访问这些var。
[users(:test_user1), users(:test_user2)].each do |user|
也不起作用。所以我没主意了。
答案 0 :(得分:0)
我是这样做的:
[:test_user1, :test_user2].each do |u|
test "some_test" + u.to_s
user = users(u)
login user
do_stuff
assert other_stuff
end
end
但是我觉得不太好。因此,仍然欢迎其他解决方案。