gpt4 book ai didi

ruby-on-rails - 如何基于fixture对象参数化rails系统测试

转载 作者:行者123 更新时间:2023-11-28 21:35:53 25 4
gpt4 key购买 nike

在 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 夹具。

所以现在我不想为@user2 添加第二个测试,而是想参数化 some_test

我试过:

  [@user1, @user2].each do |user|
test "some_test" + user.name
login user
do_stuff
assert other_stuff
end
end

但是 user 得到 nil。所以很明显我无法以这种方式访问​​这些变量。

[users(:test_user1), users(:test_user2)].each do |user|

也不起作用。所以我没主意了。

最佳答案

我是这样做的:

  [: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

但我不觉得这很好。所以其他的解决方案还是欢迎的。

关于ruby-on-rails - 如何基于fixture对象参数化rails系统测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58891335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com