我看到的大多数Rails测试示例都直接发布到url。我最近发现,Rails支持使用“ fill_in”和“ click_on”来操纵表单元素。
我应该直接发布还是手动通过表单提交?手动填写表单似乎更加彻底,我问的原因是,我看到的所有示例都在发布直。显然,直接发布的工作可能要少一些,但是我很好奇我可能缺少的情况。有最佳实践吗?
答案 0 :(得分:0)
您需要进行不同级别的测试,并需要权衡取舍。您所描述的是所谓的与浏览器的集成测试,它们具有这些特征
与单元测试相反,后者更断言您的系统只有一小部分起作用。就像某个类上的某些方法正常工作一样。在您的示例中,这可能是断言您的模型能够接受某些设置属性并保存。这使您可以通过模拟/存根隔离您的依赖项。这些通常更快,更可靠,但它们使您无法确定一切都能按预期运行。
有一些变量,但是通常除非它是一个疯狂的高价值表单,否则我通常只测试模型验证以及使用可能导致问题的特定参数调用的任何表单对象。