2011-08-29 85 views
3

现在我使用rspec进行测试。到rspec的运行所有我需要做的就是:如何运行黄瓜和RSPEC?

耙规范

我现在想用黄瓜写为确保这些路径登录测试,并制定& Omniauth正确注册工作。

要使用黄瓜我需要在/ features中编写测试吗?

这是否意味着测试我需要运行

rake spec 

然后所以现在我有运行两个测试框架运行另一个命令

cucumber 

谢谢

回答

6

是的。一个是单元测试框架,另一个是高级验收测试。如果你正在寻找集成测试而不是验收测试(听起来像是这样),那么带rspec的普通水豚可能会更适合(https://github.com/jnicklas/capybara,scroll降至水豚+ rspec)

+0

谢谢谢谢谢谢! – AnApprentice

1

是的,这是正确的。一般来说,我使用Rspec进行单元测试,并使用黄瓜进行整合。如果您发现RSpec为您覆盖了集成测试,并且您不需要编写黄瓜功能以与客户或系统分析师一起指定应用程序,那么黄瓜可能不适合您。就我个人而言,我喜欢黄瓜如何用于集成测试。它感觉非常可重用,并且很容易理解测试中发生了什么。

1

为了解决您关于运行2个命令的特殊性,每当您更改规范代码或程序代码时,运行自动测试以自动运行测试,无需使用rake命令。

https://github.com/dchelimsky/rspec/wiki/Autotest-Integration

如果用黄瓜运行AUTOFEATURE=true autotest将按顺序运行RSpec的测试和黄瓜规格

https://github.com/cucumber/cucumber/wiki/Autotest-Integration

自动测试有很大的作用,因为它运行的全规格的套房,但是,如果任何测试都会失败,只会在测试通过之前重新运行测试,然后再次重新运行整个测试。它也有随机的测试订单的附加值,这样可以确保测试是在隔离