草庐IT

mocking-stubbing

全部标签

c# - 异步单元测试中的 stub 任务返回方法

假设我有以下类和它所依赖的接口(interface):publicclassMyController{privateIRepository_repository;publicMyController(IRepositoryrepository){_repository=repository;}publicasyncTaskMethodUnderTest(intsomeId){varo=await_repository.FindById(someId);//updateoawait_repository.Commit();}}publicinterfaceIRepository{Task

c# - Rhino Mocks 接收参数,修改它并返回?

我想写这样的东西:myStub.Stub(_=>_.Create(Arg.It.Anything)).Callback(i=>{i.Id=100;returni;});我想获取传递给mock的实际对象,对其进行修改并返回。RhinoMocks可以实现这种情况吗? 最佳答案 您可以像这样使用WhenCalled方法:myStub.Stub(_=>_.Create(Arg.Is.Anything)).Return(null)//willbeignoredbutstilltheAPIrequiresit.WhenCalled(_=>{va

c# - Rhino Mocks AssertWasCalled(多次)使用 AAA 获取属性

我有一个模拟对象作为构造函数参数传递给另一个对象。如何测试模拟对象的属性是否已被调用?这是我目前使用的代码:INewContactAttributesnewContact=MockRepository.GenerateMock();newContact.Stub(x=>x.Forenames).Return("OneTwoThree");someobject.ConsumeContact(newContact);newContact.AssertWasCalled(x=>{vardummy=x.Forenames;});除非在“someobject”中多次使用Forenames属性上的

javascript - 如何正确地让 mock 在 Jest 中抛出错误?

我正在使用Jest测试我的GraphQLapi。我为每个查询/变更使用单独的测试服我有2个测试(每个测试都在单独的测试套件中),我模拟了一个用于突变的函数(即Meteor的callMethod)。it('shouldthrowerrorifemailnotfound',async()=>{callMethod.mockReturnValue(newError('Usernotfound[403]')).mockName('callMethod');constquery=FORGOT_PASSWORD_MUTATION;constparams={email:'user@example.c

javascript - Jasmine Spies.and.stub 方法

我一直在通读Jasmine文档,并且一直在努力理解Spies.and.stub方法的实际作用。英语不是我的母语,所以我什至不知道“stub”这个词的实际含义,也没有我的语言的翻译。在文档中它说:Whenacallingstrategyisusedforaspy,theoriginalstubbingbehaviorcanbereturnedatanytimewithand.stub.describe("Aspy",function(){varfoo,bar=null;beforeEach(function(){foo={setBar:function(value){bar=value;

javascript - 如何使用 sinon stub new Date()?

我想验证各种日期字段是否已正确更新,但我不想在预测newDate()何时被调用时乱七八糟。如何stubDate构造函数?importsinon=require('sinon');importshould=require('should');describe('tests',()=>{varsandbox;varnow=newDate();beforeEach(()=>{sandbox=sinon.sandbox.create();});afterEach(()=>{sandbox.restore();});varnow=newDate();it('setscreate_date',do

javascript - 如何获取在 jest mock 函数中调用的参数?

如何获取在jestmock函数中调用的参数?我想检查作为参数传递的对象。 最佳答案 只需使用mockObject.calls。就我而言,我使用了:constcall=mockUpload.mock.calls[0][0]这是documentationaboutthemockproperty 关于javascript-如何获取在jestmock函数中调用的参数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

javascript - 如何在 ES6 中 stub 导出函数?

我有文件foo.js:exportfunctionbar(m){console.log(m);}还有另一个使用foo.js、cap.js的文件:import{bar}from'foo';exportdefaultm=>{//SomelogicthatIneedtotestbar(m);}我有test.js:importcapfrom'cap'describe('cap',()=>{it('shouldbar',()=>{cap('some');});});不知何故,我需要在测试中覆盖bar(m)的实现。有什么办法吗?附言我使用babel、webpack和mocha。

javascript - Jasmine 2.0 async done() 和 angular-mocks inject() 在同一个测试中 it()

我通常的测试用例看起来像it("shouldsendgetrequest",inject(function(someServices){//sometest}));Jasmine2.0异步测试应该是这样的it("shouldsendgetrequest",function(done){someAsync.then(function(){done();});});如何在一个测试中同时使用done和inject? 最佳答案 这应该有效;当我更新到Jasmine2.0时遇到了同样的问题it("shouldsendgetrequest",f

unit-testing - 如何在 Go 中构建 Mock 或 Stub 结构?

假设我有一个包含多个接口(interface)的Go包。对于这个例子,我将重点关注middleware.go中定义的一个名为Middleware的对象:typeMiddlewareinterface{//somefunctions}我有一些系统的其他部分使用它,所以为了更好地帮助测试系统的这些部分,我在mock_middleware.go中手动创建了一个模拟实现:typeMockMiddlewarestruct{}//implementations在没有测试的情况下构建二进制文件时,如何排除模拟类被构建到二进制文件中?我知道middleware_test.go将被排除在外,但我不想用该