2016-03-28 10 views
0

Wie übertrage ich die Liste der Parameter auf die unten stehende Einheit Testspezifikation in Jasmin?Wie übergebe ich den Parameter im Jasmine Unit Test?

params - "userId": "user1", "Standort": "London", "Gehalt": "33333", "Hobby": "Schwimmen"

Dies ist ein ungefähre Einheit Testspezifikation und nicht eine genaue.

describe("my jasmine test suite", function() { 

    var params, 
     myController 

    beforeEach(function() { 
    module('myApp'); 
    mockService = jasmine.createSpyObj('mockService',['serviceCall']); 

    module(function($provide) { 

      $provide.value('myService',mockService); 

     }); 

    inject(function($controller,$q,_$rootscope_) { 
    mockService.serviceCall.and.callFake(function(srvcname,mthdname,params) 
     { 
     var resData = {}; 
     if(mthdname === 'servicecall') 
     { 
      // assign the mockdata 
      } 
      return mockData; 
    }); 

    $rootscope = _$rootscope_; 
    myScope = $rootscope.$new(); 

    myController = $controller('myController',{$scope:myscope}); 
}); 

}); 

it('my test spec',function() { 

    expect(mockService.serviceCall).toHaveBeenCalled(); 

    expect(myscope.searchRslt[0]).toBe(mockData.searchRslt[0]); 
    $rootScope.$digest(); 

}); 

}); 

Ich bin nicht sicher, wie der Parameter an die Jasmin Unit-Test-Spezifikation geben sie

Antwort

0

Wenn Sie dies tun ...

mockService.serviceCall.and.callFake(function(srvcname,mthdname,params) 
{ 
    var mockData = {}; 
    if(mthdname === 'servicecall') 
    { 
     // assign the mockdata 
     mockData.searchRslt = new Array(); 
     mockData.searchRslt.push({ "userId" : "user1", "location" : "london", "salary" : "33333", "hobby" : "swimming"}); 
    } 
    return mockData; 
}); 

... das Ergebnis mockData.searchRslt[0] wäre Object {userId: "user1", location: "london", salary: "33333", hobby: "swimming"}

Da wir die Form von myscope.searchRslt[0] nicht kennen, ist es schwer zu sagen, ob das genau das ist, was Sie brauchen, aber es sollte Ihnen die Idee geben, wie man ein pproach es.

+0

Vielen Dank. Ich werde versuchen, es dich wissen zu lassen. Haben Sie ein Online-Beispiel, in dem Parameter an die Komponententestmethoden übergeben wurden? – JsLearner