Rspec noob在这里,只是想提高我的测试覆盖率。
我遇到的一个非常基本但又重要的问题是:哪种测试去哪里? 模型测试很简单。我只需要测试模型方法和验证的功能。查看测试似乎很简单。这只是测试每个视图呈现所需的数据。
让我感到困惑的是我的Request Specs中究竟是什么。我的大多数铁杆经验都来自Michael Hartle的Rails教程。他的请求规范似乎基于用户可以在应用程序中执行的一系列操作。但他还包括测试,看起来他们应该在View Specs中,我正考虑转移到其他地方。
如果有人可以帮我理解请求中的哪种测试,那将会有所帮助。
答案 0 :(得分:2)
来自RSpec docs:
请求规范为Rails'提供了一个薄的包装器。集成测试,是 旨在通过完整堆栈驱动行为,包括路由 (由Rails提供)并且没有存根(这取决于你)。
根据请求规范,您可以:
- 指定单个请求
- 跨多个控制器指定多个请求
- 跨多个会话指定多个请求
有关详细信息,请查看有关集成测试的rails文档。
来自Rails' docs on integration tests:
集成测试用于测试任意数量的控制器之间的交互。它们通常用于测试应用程序中的重要工作流程。
如果您的测试与单个视图的呈现方式有关(应该与任何实际的HTTP请求完全分离),那么它可能更适合作为视图测试。如果它与多个视图或多个请求有关,那么集成测试可能更合适。