【问题标题】:how to omit something from an rspec controller test?如何从 rspec 控制器测试中省略某些内容?
【发布时间】:2010-01-24 06:16:37
【问题描述】:

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

当我对它运行测试时,从这个控制器操作中省略这个子函数调用的最佳方法是什么?

谢谢。

【问题讨论】:

    标签: ruby-on-rails testing rspec functional-testing


    【解决方案1】:

    您可以像这样在 rspec 测试的 before 块中为该函数存根该子函数调用

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

    那么您的任何测试示例都不会真正调用此 sub_action。

    仅出于语义考虑,Rspec 始终在测试环境中而不是在开发环境中运行,但我收集了您的意思。

    【讨论】:

    • 不应该是controller.stub!吗?
    • 是的,你是对的,我们使用 mocha 和 rspec,我基本上编写了 mocha 存根语法。感谢您指出这一点,我也更正了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多