对于 RSpec Capybara 测试用例 [Selenium],我有大约 7 到 8 个规范文件。很少有测试用例相互依赖。例如,在删除产品之前,我必须创建产品。
但是当测试用例执行开始时,在创建产品 rspec 之前删除基于产品的 rspec 运行。
文件名:-
product_delete.rspec
product_listing.rspec
product_newly_added.rspec
命令:rspec
根目录下的.rspec文件
--require spec_helper
--format html
--out ./log/rspec_results.html
--color
执行删除产品时测试用例失败。
有什么方法可以定义运行 RSpec 时文件执行的顺序。
最佳答案
测试用例应该是独立的。对于删除测试用例,您可以使用工厂并创建一条记录,然后在单个测试用例中将其删除,如示例所示。 只需定义一次工厂并使用它来创建记录,这样就不会违反 DRY。
describe 'POST destroy' do
before(:each) do
@obj = build(:factory_name)
@obj.save
end
it 'it has status 200' do
post :destroy, {"id" => @obj.id}
expect(ClassOfObj.count).to eq(0)
end
end
关于ruby-on-rails - Rails + RSpec + 在运行 RSpec 测试套件时设置测试用例文件的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482033/