如何在 Rails 功能测试中调用不同的帖子到不同的控制器

发布于 2024-08-31 20:21:33 字数 116 浏览 5 评论 0原文

我想在我的功能测试中向不同的控制器发出发布请求,该测试是针对特定控制器的。然而,ActiveController 类中的 post 方法只接受要调用的方法,而不接受要调用的控制器名称。有什么想法如何调用不同的控制器吗?

I want to make a post request to a different controller inside my functional test which is intended for a particular controller. However the post method in ActiveController class just takes the method to be called, it doesn't take the controller name to be called. Any ideas how to invoke a different controller?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神回复 2024-09-07 20:21:33

当您使用 ActiveSupport::TestCase,当您不想推断哪个控制器时,您可以设置要测试的控制器。

因此,您可以向当前控制器的测试添加另一个类,将控制器设置为在新类中进行测试,并实现您的测试用例。

您没有提供代码,所以我无法提供编码解决方案,但这里有一篇关于在 RSpec 下测试控制器上的所有方法的博客文章: http://blog.wolfman.com/articles/2007/7/28/rspec-testing-all-actions-of -a-controller

[就我个人而言,除了路由检查和模糊测试之外,我不再使用 RSpec/TestUnit 来进行控制器测试。对于涉及系统多个部分的事情,我更喜欢集成测试(例如 Cucumber)。]

When you create tests for controllers using ActiveSupport::TestCase, you can set which controller to test when you don't want it inferred.

So you could add another class to your test for the current controller, set the controller to test against within the new class, and implement your test cases.

You didn't provide code so I can't provide a coded solution but here's a blog post regarding testing all methods on controller under RSpec: http://blog.wolfman.com/articles/2007/7/28/rspec-testing-all-actions-of-a-controller

[Personally, I moved away from RSpec/TestUnit for controller tests beyond route checks and fuzzy testing. I much prefer integration testing (e.g. Cucumber) for something that involves multiple parts of the system.]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文