我正在做一些单元测试,我的方案如下。我有50个测试,它们对服务功能的调用必须相同,但是对于一个单独的测试如果我可以调用原始方法将会非常有用。我尝试使用and.callThrough,但它无法正常工作。我也试图超越间谍,但我不能。我做错了什么?
beforeEach(inject(function($controller, _myService_){
spyOn(_myService_, 'getSomeData').and.callFake(function(data, params){
return dummyData;
});
createController = function() {
return $controller('MyCtrl',{
$uibModalInstance: modalInstance,
myService: _myService_,
injectedData: injectedData
});
};
}));
这是我的测试用例。
it('My test case', function(){
controller = createController();
controller.myService.getSomeData = jasmine.createSpy().and.callThrough()
});
我正在使用jasmine 2.0并且该测试用例不断调用callFake函数。
感谢
答案 0 :(得分:1)
private void group_control1_Click_1(object sender, EventArgs e)
{
new view_record().Show();
}
没有意识到间谍方法,并且没有办法知道它,调用它只会导致调用noop函数。
现有间谍可以改变间谍策略,
jasmine.createSpy().and.callThrough()