因此,虽然我喜欢Cucumber的集成测试可读性,并且能够为我们提供文档,我们可以轻松地与客户共享,但从开发和测试速度的角度来看,我也觉得它很麻烦。
我今天想到,如果我可以将消息打印成记录了"步骤"的RSpec文档格式,那么我可以轻松地复制Gherkin的业务功能,但是在RSpec的简单性方面。但我无法找到一种方法来做到这一点。
我想要的是采取这样的方式:
describe "Login and Authorization Tests" do
before (:each) do
docs "Given I have a user"
@user = FactoryGirl.create(:user)
end
it "A user can belong to one or more user roles" do
docs "And the user has no roles assigned"
@user.roles.length.should eq 0
docs "When I add two roles"
@user.roles << FactoryGirl.create(:role)
@user.roles << FactoryGirl.create(:role)
@user.reload
docs "Then the user should have two roles assigned"
@user.roles.length.should eq 2
end
end
并在文档
中获取User
Login and Authorization Tests
A user can belong to one or more user roles
Given I have a user
And the user has no roles assigned"
When I add two roles
Then the user should have two roles assigned
请注意&#34;之前的消息&#34;也显示在文档中,并且会在它下面的每个测试中显示该行。
我想要分析是否可以添加这样的东西,但在我这样做之前,是否有人知道这样的事情是否可能已经存在?
答案 0 :(得分:3)
我还联系了RSpec开发团队,并在那里发布了一个名为rspec-longrun的附加组件,可以为此重新调整用途。我还没有机会尝试它,但看起来很有希望。作为奖励,它包括时间信息。
rspec-longrun:https://github.com/mdub/rspec-longrun
rspec-dev上的线程:https://github.com/rspec/rspec-dev/issues/34
答案 1 :(得分:0)