【问题标题】:Resharper Unit Testing and KarmaResharper 单元测试和 Karma
【发布时间】:2015-08-10 16:33:12
【问题描述】:

我在 Web 应用程序的根目录中有一个 karma.config.js,其中包含以下输入:

"content/js/libs/angular/angular.js",
"content/js/libs/angular/angular-mocks.js"

如果我启动我的角度测试,例如:

describe('Registration 1st Step', () =>  {

 beforeEach(module('app'));

var $controller; 
var $httpBackend: ng.IHttpBackendService; 

beforeEach(inject(($injector) => {
    $controller = $injector.get('$controller');  
    $httpBackend = $injector.get('$httpBackend');
}));

describe('registrationCards', () =>  {
    var $scope: Registration.IRegistrationCardsScope;
    var workflow : Workflow.Registration;
    var controller: ng.IControllerService;

    beforeEach(inject(($rootScope, registrationWorkflow) => {     

        $scope = $rootScope.$new();            
        workflow = registrationWorkflow;            
        $controller('stepsManager', {$scope: $scope});
        controller = $controller('registrationCards', { $scope: $scope, registrationWorkflow: workflow});    
      }));

     it('scope should be not null', () =>  {
        expect($scope).not.toBe(null);
     });
});

使用 karma start 使用 phantomjs 可以正常工作。

如果我尝试使用 resharper 单元测试资源管理器,它会给我“测试未运行”以及“遇到声明异常”的消息。

好像真的没有加载karma.config.js,你知道吗?

谢谢,

卢卡

【问题讨论】:

    标签: angularjs unit-testing jasmine resharper karma-runner


    【解决方案1】:

    您应该在每个测试规范文件中添加对 angular.js 和 angular-mocks.js 的引用,以便 resharper 可以加载它们。请注意,resharper 不使用 karma 测试运行器来运行测试。 所以你应该将这些行添加到代码的开头:

    /// <reference path="content/js/libs/angular/angular.js" />
    /// <reference path="content/js/libs/angular/angular-mocks.js" />

    还添加测试所需的所有文件以完全按照此表示法运行(例如控制器文件、服务文件等)

    【讨论】:

      【解决方案2】:

      似乎我找到了“部分”解决方案

      http://kearon.blogspot.ch/2014/08/testing-typescript-with-jasmine-in.html

      我需要在定义所在的同一文件夹中将所有库(如 angular.js 和 angular-mock.js)重命名为 angular.d.js 和 angular-mock.d.js,然后必须在每个库上添加引用测试文件。

      不幸的是,这可能非常苛刻......

      使用 chtuzpah 可能会更好..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-19
        • 2017-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多