ruby – 测试方法是否被MiniTest调用x次更好的方法?
发布时间:2020-12-17 02:23:36 所属栏目:百科 来源:网络整理
导读:今天我开始介绍minitest的一些基本实现,最后想出一个方法来测试一个类的方法是否被调用两次. 在RSpec我会做类似的事情: expect(@foo).to receive(:some_heavy_calculation).once2.times { @foo.bar } 现在,我已经为MiniTest提出了以下实现,但是我不确定这是
今天我开始介绍minitest的一些基本实现,最后想出一个方法来测试一个类的方法是否被调用两次.
在RSpec我会做类似的事情: expect(@foo).to receive(:some_heavy_calculation).once 2.times { @foo.bar } 现在,我已经为MiniTest提出了以下实现,但是我不确定这是否是实现它的方法,因为这个.这就是我所拥有的 require 'minitest/autorun' class Foo def bar @cached_value ||= some_heavy_calculation end def some_heavy_calculation "result" end end class FooTest < Minitest::Test def setup @foo = Foo.new end def cache_the_value_when_calling_bar_twice mock = Minitest::Mock.new mock.expect(:some_heavy_calculation,[]) @foo.stub :some_heavy_calculation,-> { mock.some_heavy_calculation } do 2.times { assert_equal_set @foo.bar,[] } end mock.verify end end 我是否真的必须用mock来实现它,这将是方法主题的存根的结果,必须被调用x次? 解决方法
我不得不做类似的事情.这就是我最终的结果……
def cache_the_value_when_calling_bar_twice count = 0 @foo.stub :some_heavy_calculation,-> { count += 1 } do 2.times { assert_equal_set @foo.bar,[] } end assert_equal 1,count end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 正则表达式 – 如何结合两个apache htaccess重定向条件(htt
- [Cocos2d-x开发问题-4] Cocos2d-x整体框架描述
- NSJSONSerialization-JSON数据与NSDictionary和NSArray之间
- regex – 荷兰语电话号码的正则表达式
- NoSQL是什么?
- 是时候适配 Swift 3 了吗——专访 LINE iOS 开发工程师王巍
- xcode – 即使在simultor未运行后显示“正在使用的模拟器”
- 在vscode中统一vue编码风格的方法
- Andriod React Native 样式表中可用样式属性
- 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controlle