什么被认为是可靠的规格?
这是我发现关于测试的非常抽象的内容。我会对模型、控制器和其他任何可以测试的东西的答案感兴趣。有一个规范的规范会很酷,你知道我的意思吗?
模型规范应该(按照优先级和相关性的顺序):
- 测试所有方法?
- 测试错误数组?
- 测试 CRUD(以及如何)?
- 还有什么?
控制器/视图规范应该(按优先级/相关性的顺序):
- 填空...
- ?
扩展这个规范应该和不应该包含的内容的列表会很棒。
我还想编制一份技巧和建议清单。例如:
关键字“应该”有点多余。
例子:
这个:
it "should be invalid without a firstname"
会更好:
it "is invalid without a firstname"
还有一个技巧,使用 expect 代替 lambda 以提高可读性:
lambda { ... }.should be_valid
更具可读性:
expect { ... }.should be_valid
我正在编制一份关于入门的有用文章列表,并将在这篇文章中分享这些文章。到目前为止,我发现这里有一些特别有用的东西。(随意张贴你的,如果它看起来有帮助,我会附上它)。
http://everydayrails.com/2012/03/19/testing-series-rspec-models-factory-girl.html http://nelvindriz.tumblr.com/post/835494714/rspec-best-practices
拥有一个测试实施良好的项目列表会很棒。由于 rspec 的可读性很强(至少每个人都是这么说的),所以最好能得到一个项目链接列表,这些项目有很好的规范可供阅读。
“有关良好规范的示例,请参阅Mongoid规范。” -@yfeldblum(见下面的答案)
在网上你会发现很多文章描述了关于如何测试基本东西的不切实际的场景,但除此之外,你只能靠自己了。如果我要写一篇关于这个主题的文章,我只会链接到我的测试(例如在 github 上),然后彻底注释其中一个或几个规范......这似乎是写一篇关于 rspec 的文章的最佳方式,在我看来。我会自己做,但我还没有完全做到。
如果您投票关闭此帖子,那很好,只需尝试就您认为此帖子的所属位置发表评论或建议。谢谢!