2013-02-21 26 views
0

我从Ruby开始,并且阅读了不同的测试方法/框架:单元测试(MiniTest ::单元现在有最新的Ruby版本),Rspec,Cucumber和Capybara。但是我并不完全了解每个人的主要“价值”是什么,区别于其他人的主要“价值”,并且我是否可以/应该使用所有人的组合来确保我们的应用程序经过良好测试?使用单元测试,Rspec,黄瓜和水豚有没有意义?

回答

1

我个人使用RSpec进行功能测试,capybara/cucumber进行集成测试。 RSpec非常适合编写测试,以确保我的课程能够像我期望的那样执行。 Cucumber很棒(与水豚或网页一起),以确保我的观点能以我期望的方式表现。

测试对于编写Rails应用程序来说是一笔巨大的资产。我经常会改变一些东西,而且我的测试发现这种改变有一个意想不到的副作用,这真是太神奇了。它还可以帮助您通过在测试中复制错误并使测试通过来解决错误,从而导致错误得到解决。

所以:rspec(和FactoryGirl)为确保我的课做他们应该做的和cucumber,以确保我的用户在我预期的方式在网站交互。

+0

感谢您的回答。 Factorygirl是reallu有用吗?它如何补充FactoryGirl? – Mathieu 2013-02-21 21:42:57

+0

所以你不使用Test :: Unit进行单元测试?它可能与Rspec重叠? – Mathieu 2013-02-21 21:43:53

+0

是的,RSpec替换Test :: Unit,我喜欢它的语法并且更喜欢它的灵活性。 Factorygirl非常适合嘲笑可重复运行测试的对象。机械化也可以用来代替Factorygirl。除非每次都返回相同的结果,否则测试是无用的。 FactoryGirl确保您的测试针对您每次控制的已定义对象运行。 – 2013-02-21 21:48:24