在ReSharper JavaScript测试中共享引用路径

cec*_*lip 5 javascript resharper jasmine angularjs

我和我的团队正在开发一个具有大量Angular代码和Jasmine测试的Web应用程序.我们正在使用Visual Studio和ReSharper的内置Jasmine测试运行器.为了ReShaper,我们的JS测试文件都有像这样设置在顶部的引用路径

/// <reference path="/path/to/somefile.js" />
Run Code Online (Sandbox Code Playgroud)

我们有很多这样的参考.对于每个新的测试文件,我们都必须添加这些引用.如果我们有一个新组件或外部库,我们必须添加对几乎所有现有测试文件的另一个引用.对于包括外部角度模块尤其如此.

有没有办法为resharper中的js测试创建共享参考文件?当您的解决方案包含大量较小的文件时,这确实成为核心

Mik*_*amm 4

是的,您可以创建一个包含所有其他引用的参考文件。然后您只需将该参考文件包含在您的 js 测试文件中即可。

在 js 测试文件(规范)中,您只需包含以下内容:

/// <reference path="defaultReferences.js" />
Run Code Online (Sandbox Code Playgroud)

在 defaultReferences.js 文件中添加所需的所有引用:

/// <reference path="../../App/lib/jquery/jquery-2.1.0.js" />
/// <reference path="../../App/lib/jquery/jquery.cookie.js" />
/// <reference path="../../App/lib/angular-1.3.0-beta.3/angular.js" />
Run Code Online (Sandbox Code Playgroud)

那么你只需要在defaultReferences中添加一个新的参考文件而不是全部

更新

在 @sarin 下面的问题之后,我将尝试解释我的项目中的文件夹结构:(我也有 resharper 8.2 和 jasmine 2.0)

.. [WebApp]
.... [lib]
...... [角度]
......references.js
.... [js]
...... [帐户]
.... .... accountController.js
...... [篮子]
........篮子服务.js
.... [测试]
...... [助手]
...... [规格]
........ [帐户]
......... accountControllerSpec.js
........ [篮子]
.........篮子服务规范.js

然后在我的 basserivceSpec.js 中,引用如下所示:

/// <reference path="../../../lib/references.js" /> /// <reference path="../../../js/basket/basketService.js" />

因此,如果您遇到 resharper 未运行测试的情况,请查看参考路径。