所以是的,我正在接受这个测试的事情! 但我不知道该用什么= /
Rspec + Shoulda?
Rspec +牛排?
MINITEST?
黄瓜?
水豚?
本应该? (与Shoulda混合的黄瓜)
Mini_shoulda? (使用Shoulda混合最小)
答案 0 :(得分:7)
如果您刚刚开始,则应使用默认设置并按the official guides进行操作。重要的是你练习测试。你使用的测试库/框架不那么重要 - 这是一个风格选择,它首先是实际的练习测试 - 而开始测试你的Rails应用程序最简单的方法就是遵循“Golden”官方指南布局的路径。
一旦您对测试Rails应用程序感到满意,您就可以更好地评估其中的选项。我个人喜欢rspec和黄瓜(目前 - 我可能会决定改变我的偏好),但是我已经在熟悉测试并且已经熟悉Rails之后才能想出这个偏好。
答案 1 :(得分:5)
我刚遇到this blog post声明:
在Ruby中测试的公认方法似乎是使用Rspec进行单元测试,并使用Cucumber进行验收测试(更高级别的功能测试)。
然后继续问:“如果我们同意BDD是好的,为什么我们不以更适合BDD的格式编写我们的单元测试,那是Cucumber格式的测试?”并将rspec单元测试与Cucumber中的单元测试进行比较。
答案 2 :(得分:3)
在工作中,我们使用非常标准的RSpec和Cucumber组合。我不知道他们是如何决定这个特定的组合,当我开始为我们工作时它已经存在,所以没有必要改变。此外,它是一个非常广泛使用的组合,所以找到谷歌等的例子并不太难。
对于我的基于1.9的私人项目,我想我将从现在开始使用Minitest。没有外部依赖,一个简单的BDD DSL(require 'minitest/spec'
)和一些其他细节,如随机化。这是一个很好的快速介绍:
http://www.bootspring.com/2010/09/22/minitest-rubys-test-framework/
答案 3 :(得分:1)
对于刚入门的人,我建议只使用RSpec。它不会做任何事情,但它将允许您建立合理的单元和集成测试集。当您遇到RSpec轻松处理的限制时,请指导您选择其他工具。
答案 4 :(得分:0)
不能提供比正义更合理的东西,但在你忽视这个智慧之前:-)请看看这个视频(最小作者Ryan Davis在Cascadia 2011 ruby conf):
http://confreaks.net/videos/618-cascadiaruby2011-size-doesn-t-matter
幻灯片:http://www.zenspider.com/~ryan/presentations/CascadiaRubyConf_2011_-_Size_Doesn%27t_Matter.pdf
能够非常快速地运行所有测试是一件非常好的事情。