Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用asp.net webservice后端对angularjs进行单元测试_Asp.net_Angularjs_Web Services_Unit Testing_Jasmine - Fatal编程技术网

如何使用asp.net webservice后端对angularjs进行单元测试

如何使用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() {

我有一个使用Angularjs用javascript编写的Web应用程序,我正在尝试使用jasmine 2.1.3编写单元测试

然而,应用程序的后端是用ASP.NET 4.5编写的,我利用ASP Web服务对api进行客户端调用

  • 在jasmine中为控制器编写单元测试时,如何处理这些web服务调用
  • 对于ASP.Net Web服务,是否有类似于ngMock和$httpbackend的方法
  • 示例代码:

    茉莉花:

    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。