代码之家  ›  专栏  ›  技术社区  ›  Priyank

黄瓜场景中带有Rspec/Mocha的存根

  •  7
  • Priyank  · 技术社区  · 14 年前

    购物车功能目前正在模仿从第三方系统获取的一些产品。而在黄瓜运行车功能运行之前的产品功能。产品特性对某些场景使用真实调用。理想情况下,我们希望在场景完成后清除类级存根,比如Product.stub(:find);然而事实并非如此。类级存根会在下一次运行时逗留,并干扰调用。

    有没有人面临过类似的问题:黄瓜的存根没有被重新设置?有没有办法,我可以恢复原来的类行为?

    任何帮助都将不胜感激。

    干杯

    2 回复  |  直到 14 年前
        1
  •  8
  •   Geoff Lanotte    14 年前

    对于mocha集成,您应该将以下内容添加到features/support文件夹(如mocha.rb)中的文件中

    require "mocha"
    
    World(Mocha::Standalone)
    
    Before do
      mocha_setup
    end
    
    After do
      begin
        mocha_verify
      ensure
        mocha_teardown
      end
    end
    

    after块应该释放所有mock。

    资料来源: http://gist.github.com/80554

        2
  •  4
  •   robd    11 年前

    mocha 1.1的语法略有不同:

    require 'mocha/api'
    
    World(Mocha::API)
    
    Before do
      mocha_setup
    end
    
    After do
      begin
        mocha_verify
      ensure
        mocha_teardown
      end
    end
    
    推荐文章