我们选择使用rails来构建我们的小项目。这是一个非常小的项目,可能需要六个人月或更少。所有参与该项目的人都是Rails的新手,并且在网络编码方面的经验有限。
我们的软件应该为用户提供易于使用的界面,以浏览大量的测量数据和可视化。用户使用用户帐户标识自己,该用户帐户限制他们可以看到哪些数据。
我们应该做什么样的自动化测试?是否有任何免费提供的教程可以帮助我们做到这一点?
答案 0 :(得分:4)
考虑Rails所基于的MVC(模型 - 视图 - 控制器)设计模式的三个“支柱”。
这些应该基本上没有业务逻辑:代码应该关注数据的显示和UI的操作。
最小逻辑(传统观念是使用“瘦控制器”)。测试(在'测试/功能'目录中)应该是直截了当的 - 并且 - 希望 - 主要涉及导航和响应内容验证。从尽可能保持这些尽可能简单的想法开始,这样您就可以在需要时为更复杂的测试主题做好准备。
这是业务/域逻辑所在的位置。将它保存在模型中会使测试更容易,这很好,因为您应该针对模型编写大部分测试,特别是在最早的开发阶段。在实现之前使用测试来定义行为还有一个额外的好处,即可以将代码转向更清晰,分离的设计,所以尽可能地尝试这样做。
可能值得一看Noel Rappin的Rails Prescriptions - 有一本书和一本(免费)介绍性PDF,详细介绍了Rails特定的测试问题。
答案 1 :(得分:0)
对于所有铁路,都有轨道广播。这是一个关于使用rspec进行测试的好方法:Link!(浏览以找到更多好东西),我不能更高度推荐autotest。之后,根据您要编写的测试,您可以执行许多操作。 (硒,固定装置)
答案 2 :(得分:0)
单元测试非常棒,但我认为至少可以查看blackbox testing
答案 3 :(得分:0)
您可能还想获得该书Agile Web Development with Rails。有一章关于使用导轨测试系统。
答案 4 :(得分:0)
Thoughtbot's Shoulda是一个非常易于使用和直观的测试框架,具有自然语言选项,并且不需要通过教程和api阅读来学习太多“魔力”。
梦幻Rails书Agile Web Development with Rails的作者之一Dave Thomas提供good, quick overview of Shoulda。