草庐IT

FakeItEasy-mock

全部标签

python - 如何模拟在 with 语句中使用的 open (使用 Python 中的 Mock 框架)?

如何使用unittest.mock测试以下代码:deftestme(filepath):withopen(filepath)asf:returnf.read() 最佳答案 Python3补丁builtins.open并使用mock_open,它是mock的一部分框架。patch用作contextmanager返回用于替换修补对象的对象:fromunittest.mockimportpatch,mock_openwithpatch("builtins.open",mock_open(read_data="data"))asmock_f

java - @Mock、@MockBean 和 Mockito.mock() 之间的区别

在创建测试和模拟依赖时,这三种方法有什么区别?@MockBean:@MockBeanMyServicemyservice;@Mock:@MockMyServicemyservice;Mockito.mock()MyServicemyservice=Mockito.mock(MyService.class); 最佳答案 PlainMockito库importorg.mockito.Mock;...@MockMyServicemyservice;和importorg.mockito.Mockito;...MyServicemyservi

phpunit mock 方法多次调用不同参数

有没有办法为不同的输入参数定义不同的模拟期望?例如,我有一个名为DB的数据库层类。此类具有称为“Query(string$query)”的方法,该方法在输入时采用SQL查询字符串。我可以为这个类(DB)创建模拟并为取决于输入查询字符串的不同查询方法调用设置不同的返回值吗? 最佳答案 如果可以避免使用at()并不理想,因为astheirdocsclaimThe$indexparameterfortheat()matcherreferstotheindex,startingatzero,inallmethodinvocationsfor

java的单元测试-mock测试

文章目录简介AssertmockMVC优化mockBean(模拟bean和测试接口)简介对于普通的方法,通常采用断言测试。对于接口,需要使用mockMvc对于未开发的功能,需要mockBean模拟一个业务beanAssertjava自身携带的工具类,也可以用于一些对抛出异常要求不高的业务或者存在全局异常的项目Assert.notNull(in,"入参不存在");另外有一个更加简单的写法,以assert开头assertmethod!=null;mockMVC曾使用注入方式得到mockMvc,类加上@WebMvcTest注解,实际测试发现这样回影响servicebean的注入。@Slf4j@Spr

ruby-on-rails - RSpec mock_model 和 inherited_resources

我正在尝试为inherited_resourcesController编写规范。我决定使用rspec的mock_model模拟所有与数据库的集成。不幸的是,我无法为创建和更新操作编写规范,因为我收到以下错误:https://gist.github.com/936947有人可以帮我解决这个问题吗? 最佳答案 我在使用flexmock时遇到了同样的问题。原因是它没有使用update_attributes方法来做出路由决策。它检查resource.errors以查看它是否为空。因此,为了让它正确响应,我们还需要模拟errors方法。这是l

c++ - 谷歌模拟 : how can I "EXPECT " that no method will be called on a mock

我想测试在某些失败的情况下不会在模拟对象上调用任何方法,使用谷歌模拟。所以代码是这样的:automocObj=newMockObj;EXPECT_NO_METHOD_CALL(mocObj);//thisiswhatI'mlockingforautomainObj=newMainObj(mocObj,......andothermocks);//hereIsimulateafailusingtheothermockobjects,andIwanttobesurethenomethodsarecalledonthemockObj 最佳答案

c++ - 谷歌模拟 : how can I "EXPECT " that no method will be called on a mock

我想测试在某些失败的情况下不会在模拟对象上调用任何方法,使用谷歌模拟。所以代码是这样的:automocObj=newMockObj;EXPECT_NO_METHOD_CALL(mocObj);//thisiswhatI'mlockingforautomainObj=newMainObj(mocObj,......andothermocks);//hereIsimulateafailusingtheothermockobjects,andIwanttobesurethenomethodsarecalledonthemockObj 最佳答案

ruby - 如何使用 MiniTest::Mock 测试方法是否被调用

当我将Foo模块包含到一个类中并调用“bar”时,我想测试一个方法(在本例中为“puts”)是否被调用。require'minitest/autorun'moduleFoodefbarputs'bar'endendclassFooTest 最佳答案 你可以这样做:deftest_if_bar_method_calls_putsmock=MiniTest::Mock.newmock.expect(:puts,nil,['bar'])@class.stub:puts,->(arg){mock.putsarg}do@class.baren

ruby-on-rails - rspec-mocks 'allow' 返回未定义的方法

我使用的是RSpec2v2.13.1,它似乎应该包含rspec-mocks(https://github.com/rspec/rspec-mocks)。当然它在我的Gemfile.lock中列出。但是,当我运行我的测试时,我得到了Failure/Error:allow(Notifier).toreceive(:new_comment){@decoy}NoMethodError:undefinedmethod`allow'for#这是我要运行的测试:require'spec_helper'describeCommentEventdobefore(:each)do@event=Factor

ruby - 断言在 mock 上没有调用任何方法

我正在使用Flexmock模拟框架使用Rspec2编写测试。我希望我的方法之一能够缓存结果,并想用我的模拟来验证这一点。describeSomeClassdobeforedo@mock=flexmock()endafterdo@mock.flexmock_verify()endit"methodcachesresults"c=SomeClass.new(@mock)c.method@mock.should_receive(:expensive_method).neverc.method.should==['A']endend如果我想确保:expensive_method永远不会被调用,