我正在使用RSpec来测试RESTful API(非Rails应用程序)。我有很多测试套件(每个API一个)和测试用例。我想知道是否有任何简单的方法为标题中的每个测试用例创建测试ID,因此我可以轻松地将测试用例引用到故障单或其他测试用例中。
e.g:
it "send request to /api/cart with GET - TC001" do
...
end
TC001是我提到的身份。
或者,我们有没有更好的方式来引用RSpec中的任何特定测试用例?
答案 0 :(得分:2)
据我所知,RSpec没有提供自动为您的测试用例分配ID的工具,但它确实提供了一些机制,一旦您拥有它们就可以使用它们。
最简单的方法是将您的测试用例ID添加到问题所在的it
第一个参数中:
describe Fixnum do
it "should support + operator (TC001)" do
(5 + 8).should == 13
end
end
然后,您将在rspec
的详细输出中看到测试用例ID,甚至可以以大多数时间工作的方式过滤特定的测试用例:
$ rspec -f d -e TC001 specs/test.rb
Run options: include {:full_description=>/TC001/}
Fixnum
should support + operator (TC001)
Finished in 0.00041 seconds
1 example, 0 failures
如果这对你来说还不够,那么你可以通过使用测试选项标签hash来创建自己的标签和管理测试方案:
describe Fixnum do
it "should support + operator", case_id: 'TC001' do
(5 + 8).should == 13
end
end
可以按如下方式过滤:
$ rspec -f d -t case_id:TC001 specs/test.rb
Run options: include {:case_id=>"TC001"}
Fixnum
should support + operator
Finished in 0.0004 seconds
1 example, 0 failures
但现在请注意,标签数据不会出现在输出中。实际上它并没有出现在rspec
gem as-is提供的任何输出选项中。但是,您可以使用RSpec的自定义格式化程序以及控制测试套件行为的其他代码来访问它。因此,您可以使用它来驱动自定义报告,例如带有测试用例标签等的.csvs,跟踪测试用例以及数据库中案例的通过/失败演变等。