如何使用asp.net webservice后端对angularjs进行单元测试
我有一个使用Angularjs用javascript编写的Web应用程序,我正在尝试使用jasmine 2.1.3编写单元测试 然而,应用程序的后端是用ASP.NET 4.5编写的,我利用ASP Web服务对api进行客户端调用如何使用asp.net webservice后端对angularjs进行单元测试,asp.net,angularjs,web-services,unit-testing,jasmine,Asp.net,Angularjs,Web Services,Unit Testing,Jasmine,我有一个使用Angularjs用javascript编写的Web应用程序,我正在尝试使用jasmine 2.1.3编写单元测试 然而,应用程序的后端是用ASP.NET 4.5编写的,我利用ASP Web服务对api进行客户端调用 在jasmine中为控制器编写单元测试时,如何处理这些web服务调用 对于ASP.Net Web服务,是否有类似于ngMock和$httpbackend的方法 示例代码: 茉莉花: describe('ActivityController', function() {
describe('ActivityController', function() {
beforeEach(module('app'));
var $controller;
beforeEach(inject(function(_$controller_){
$controller = _$controller_;
}));
describe('Get Employees', function() {
var $scope, controller;
beforeEach(function() {
$scope = {};
controller = $controller('Activity', { $scope: $scope });
});
it('returns list of employees', function() {
$scope.loadEmps();
expect($scope.emps.length).not.toEqual(0);
});
});
});
控制器
angular.module('app').controller('Activity', function ($scope, SharedService, $state, toastr, ngTableParams, $filter) {
//get employees
$scope.loadEmps = function () {
WebService.getUsers(var1, var2, var3, var4, function (UsersList) {
// Add Users
if (UsersList.users != null && UsersList.users.length > 0) {
$scope.emps = UsersList.users;
userFriendly = UsersList.users[0].friendlyname;
}
else {
$scope.emps = [];
}
$scope.$apply();
}, function () {
toastr.error("Could Not Get Users");
$scope.emps = [];
$scope.$apply();
});
}
});
网络服务:
[WebMethod]
public group getUsers(string var1, int var2, string var3, string var4)
{
group response = apiFactory.getGroup(var1, var2, var3);
response = apiFactory.SortGroup(response, var4);
return response;
}
您需要为JavaScript和后端编写单元测试,然后编写关于两者如何协同工作的集成测试。如何做到这一点并不是真正的堆栈溢出问题;它更适合程序员或质量保证站点 现在我特别尝试只为javascript编写单元测试。实际上,如果您尝试测试webservice调用和响应,那么根据定义,这些是集成测试,而不是单元测试。我不是。我正在寻找一种类似于ngMock的方法,但用于ASP.NETWebService。