使用ReSharper进行AngularJS单元测试

jos*_*shb 8 resharper jasmine angularjs

我正在尝试使用ReSharper测试运行器运行AngularJS控制器的Jasmine单元测试,这样我就可以在VS 2012中的一个地方运行我的客户端和服务器端测试.

我遇到了ReSharper测试运行器失败的问题,其中包含"不确定:测试未运行"的消息.使用AngularJS Seed项目附带的测试运行器可以正常运行相同的测试.

这是我对故障排除的简单测试:

/// <reference path="~/Scripts/angular/angular.js"/>
/// <reference path="~/tests/test/lib/angular/angular-mocks.js"/>
/// <reference path="~/Scripts/app/controllers.js"/>

'use strict';

describe('controllers', function(){
  beforeEach(module('myApp.controllers'));

  it('should ....', inject(function() {
      expect(1).toEqual(1);
  }));
});
Run Code Online (Sandbox Code Playgroud)

我怀疑它与我的引用有关,因为如果我删除了调用inject,我的测试运行正常.但是,inject在angular-mocks.js(我正在引用)中定义,所以我不确定问题是什么.

有什么建议?

小智 5

关于ReSharper跳过内联的预感inject是正确的,它似乎期望function它解析文件以获得测试列表.我已经把injects 移动到了其中一个beforeEach或者进入了它的身体,it这让ReSharper再次开心.顺便说一句,我还在顶部(在其他引用之前)添加了对jasmine.js的引用,以摆脱ReSharper关于未定义的Jasmine全局变量的警告.