首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsMockito -如何让jsmockito忽略参数

JsMockito -如何让jsmockito忽略参数
EN

Stack Overflow用户
提问于 2013-04-15 14:39:25
回答 1查看 293关注 0票数 0

我想让jsMockito忽略输入到函数调用中的参数。

假设我有以下代码:

CoreCommand mockedCommand =mock( var );

当(MockedCommand).parseCommand(myfakeInput,myfakeInput2,myFakeInput3).thenReturn("Hello");

如何让jsMockito忽略myFakeInput、myFakeInput2和myFakeInput3,只返回"Hello"?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-04-16 08:50:56

代码语言:javascript
复制
    var Employee = function()
    { 
        this.getName = function(name)
        {
            return "Hello " + name;
        }

        this.updateAddress = function(emp)
        {
            return emp; 
        }
    }; 

    test( "a test", function() {

      var mockObject = mock(Employee);

      var fakeAddress = {
        address1 : "Addr1", 
        address2 : "Addr2", 
        address3 : "Addr3", 
      };


    var nonMatchingAddress = {
        address1 : "DifferentAddr1", 
        address2 : "DifferentAddr2", 
        address3 : "DifferentAddr3", 
      };        

      var realAddress = {
        address1 : "123", 
        address2 : "456", 
        address3 : "789", 
      };

      // Ok 
      //when(mockObject).updateAddress(fakeAddress).thenReturn(realAddress);
      //var argumentMatchingReturnResult = mockObject.updateAddress(fakeAddress);
      //console.log(argumentMatchingReturnResult);
      //equal(argumentMatchingReturnResult, realAddress, "passing in matching argument.");

      // Not OK - return undefined 
      //when(mockObject).updateAddress(fakeAddress).thenReturn(realAddress);
      //var argumentMatchingReturnResult = mockObject.updateAddress(nonMatchingAddress);
      //console.log(argumentMatchingReturnResult); // comes out undefined 
      //equal(argumentMatchingReturnResult, realAddress, "passing in matching argument.");

      // uses JsHamcrest.Matchers.object() here 
      // match any object here 
      // when(mockObject).updateAddress(JsHamcrest.Matchers.object()).thenReturn(realAddress);
      // var result = mockObject.updateAddress(realAddress);
      //console.log(result);

      //notEqual(result, undefined, "ensure return result is not undefined");

      // uses JsHamcrest.Matchers.typeOf() here 
       when(mockObject).updateAddress(JsHamcrest.Matchers.typeOf('object')).thenReturn(realAddress);
       var result = mockObject.updateAddress(realAddress);
       console.log(result);
       notEqual(result, undefined, "ensure return result is not undefined");

});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16009102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档