如何从 rspec 控制器测试中省略某些内容?

发布于 2024-08-19 15:56:12 字数 140 浏览 2 评论 0原文

在我的 RSpec 控制器测试中,我尝试测试调用子函数的特定操作。但我不希望测试包含对该子函数的调用。 (它会引发一个在我的开发环境中根本无法修复的错误)

当我对其进行测试时,从该控制器操作中省略此子函数调用的最佳方法是什么?

谢谢。

In my RSpec controller test, I'm trying to test a particular action that makes a call to a subfunction. But I don't want the test to include the call to that subfunction. (it'll raise an error that simply cannot be fixed in my dev environment)

What's the best way to omit this subfunction call from this controller action while I'm running a test over it?

Thanks.

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

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

发布评论

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

评论(1

旧人九事 2024-08-26 15:56:12

您可以在该函数的 rspec 测试的 before 块中对该子函数调用进行存根,如下所示

describe "test for the main_action"
  before(:each) do
    controller.stub!(:sub_action).returns(true)
  end
end

然后您的测试示例都不会真正调用此 sub_action。

只是为了语义,Rspec 总是在测试环境中运行而不是在开发中运行,但我明白你的意思。

You can stub that subfunction call in the before block of your rspec test for that function like so

describe "test for the main_action"
  before(:each) do
    controller.stub!(:sub_action).returns(true)
  end
end

Then none of your test examples would actually call this sub_action.

Just for semantics, Rspec always runs in test environment not in development but I gather what you mean.

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