ruby – RSpec:我如何编写一个预期某些输出但不关心该方法的测
发布时间:2020-12-16 20:16:21 所属栏目:百科 来源:网络整理
导读:我试图让我的头脑围绕测试驱动的设计,特别是RSpec.但是我从RSpec Book的一些例子中遇到麻烦. 在本书中,我们以$STDOUT的形式测试输出: output = double('output')game = Game.newoutput.should_receive(:puts).with('Welcome to Codebreaker!')game.start()
我试图让我的头脑围绕测试驱动的设计,特别是RSpec.但是我从RSpec Book的一些例子中遇到麻烦.
在本书中,我们以$STDOUT的形式测试输出: output = double('output') game = Game.new output.should_receive(:puts).with('Welcome to Codebreaker!') game.start() 那么,一个时尚之后的工作.但是为什么我应该关心Game对象使用puts()方法?如果我将其更改为print(),是否真的打破测试?而且更重要的是,这不是针对TDD的原则之一 – 我应该测试该方法(设计),而不是如何(实现)? 有没有办法我可以写一个测试,只是测试结果在$STDOUT,而不看什么方法把它放在那里? 解决方法
看看
this post.尼克提出了关于同一个例子的问题,一个非常有趣的对话在评论中.希望你觉得有帮助
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |