我很好奇人们认为什么是充分/彻底的路线测试。和我一起工作的一个人似乎想要断言every路线在我们的路线文件中,无论多么标准。我觉得这是浪费时间,但也许我错了,而且我没有意识到这有一些价值。
在某些情况下,我可以看到路由的一些价值。我们仍然有一些操作可以响应 GET 和 POST 请求,尽管我一直想摆脱这些操作。我们对 lambda 或其他东西没有任何疯狂的约束,但如果我们这样做的话,似乎值得测试。
但是对于正常的资源定义呢?
resources :foo, only: [:index, :show]
我们断言这两条路由都存在,我们断言它们是 GET 并且它们转到正确的控制器/操作。这有什么意义吗?感觉我们此时只是在测试 Rails。
在一个稍微相关的问题上,我更喜欢像上面那样定义资源路由(使用only: [:index, :show]
部分)。仅定义有什么后果吗resources :foo
在路由文件中,该控制器上是否只有索引/显示操作?
在我看来,这可能只是使用了更多的时间和/或内存,但这是否也是一个安全问题或我没有意识到的真正糟糕的事情?
测试路由的最大原因不是双重测试 Rails,而是验证面向公众的 API。
这减少了针对广告入口点的回归,无论它们获取或返回的数据如何。
What level测试这些也存在一些争议;测试路由本身是否有价值,或者仅验证传入/传出的数据才有意义?这样做also测试相同的路线,我认为更有价值——但速度更慢。
我倾向于只在以下情况下直接测试路由:
- 它们有点时髦,例如,不是沼泽标准路线
- I must拒绝一些路线
- 在前期开发过程中。
一旦通过其他方式进行测试,初步的路由测试通常会被删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)