因此,虽然我喜欢 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
请注意,来自“之前”的消息也显示在文档中,并且会在其下方的每个测试中显示该行。
我正在考虑分叉,看看我是否可以添加这样的东西,但在我这样做之前,有谁知道这样的事情是否已经可行?