【发布时间】:2016-09-28 12:24:28
【问题描述】:
使用 jasmine 在 Angular 服务中对 javascript 函数进行单元测试
这是我的角度服务:
angular.module("app.services").service("validationService", ["$q", function ($q) {
this.validate = function (filter): ng.IPromise<any> {
let defer = $q.defer();
defer.resolve(validateOrder(filter.valA, filter.valB);
return defer.promise;
};
function validateOrder = (valueA, valueB) {
return valueA > valueB;
};
}]);
这是我当前的单元测试:
"use strict";
describe("Service: validationService -> ", function () {
// load the service"s module
beforeEach(module("app.services"));
var validationService;
beforeEach(inject(function ($injector) {
validationService = $injector.get("validationService");
}));
it("should call validateOrder and return false", function() {
// Arrange
var filter = {"valA": 10, "valB": 100};
// Act and Assert
expect(validationService.validateOrder(filter.valA, filter.valB)).toEqual(false);
});
});
我想在将其转换为 this.validateOrder 函数时测试名为“validateOrder”的函数。
在将其保留为函数的同时,我将如何做到这一点?
【问题讨论】:
标签: javascript angularjs unit-testing jasmine