我必须使用业力为以下代码编写一个测试用例。
$scope.getUserDetails = function (param) {
Api.getData(param).then(function (result) {
Api.getVal(result).then(function (data) {
var display = Api.userDetails(result.id, result.name);
$scope.username = display.name;
});
});
};
但是我正面临这个问题,因为由于回调函数缺少参数而导致测试用例失败。我尝试了很多方法。但是由于 result.id 未定义,测试用例失败。以下只是我的测试用例的一个脚手架。'apiCall' 在 beforeEach 中定义。
it('should test the getData()', function () {
var user = 'John';
scope.getUserDetails(123);
deferred.resolve(user);
spyOn(apiCall, 'getData').and.returnValue(deferred.promise);
});