我正在测试Ruby Rails网站,并希望开始使用单元和功能测试.
黄瓜和RSpec值得一看.他们鼓励以行为驱动的,基于示例的风格进行测试.
RSpec是一个用于单元级测试的库:
describe "hello_world" it "should say hello to the world" do # RSpec comes with its own mock-object framework built in, # though it lets you use others if you prefer world = mock("World", :population => 6e9) world.should_receive(:hello) hello_world(world) end end
它对Rails有特殊支持(例如,它可以单独测试模型,视图和控制器),并且可以替换Rails中内置的测试机制.
Cucumber(以前称为RSpec Story Runner)允许您以(相当)简单的英语编写高级验收测试,您可以向客户展示(并同意),然后运行它们:
Story: Commenting on articles As a visitor to the blog I want to post comments on articles So that I can have my 15 minutes of fame Scenario: Post a new comment Given I am viewing an article When I add a comment "Me too!" And I fill in the CAPTCHA correctly Then I should see a comment "Me too!"