Chutzpah 不允许我使用 <reference path 引用函数

时间:2021-02-12 19:56:59

标签: node.js visual-studio jasmine chutzpah

我正在尝试通过 NodeJs 和 Chutzpah 使用 Jasmine 来测试我项目中的 javascript。这是在 Visual Studio 中

Jasmine 测试看起来像

/// <reference path ='../../net5.Ui/wwwroot/Shared/Javascript/helpers.js' />
    
describe('Helpers test', function () {
    it('Test contains', function () {
        const result = helpers.isMatch();
        expect(result).toBe(true);
    });
});

我的 javascript 文件都有类似的结构(单例方法)

const helpers = new function(){
    this.isMatch = function(){ return true; }
}

Visual Studio 能够检测测试。

节点版本 14.15.4

更新

(我删除了一些我原来的帖子,因为它不再有价值)

我什至删除了 <reference path> 并将其替换为项目根目录中的 chutzpah.json

{
  "Framework": "jasmine",
  "References": [
    {
      "Path": "../../net5.Ui/wwwroot/Shared/Javascript/",
      "Include": "*.js",
      "Exclude": "*app.js"
    }
  ],
  "Tests": [
    {
      "Path": "Tests/",
      "Includes": [ "*Spec.js" ]
    }
  ]
}

1 个答案:

答案 0 :(得分:3)

ES6 功能仅在 IE 11 中部分实现,这就是您收到关于 Invalid character 的错误的原因。您引用的模板文字 $ 未实现。在此处查看有关兼容性的更多信息 https://kangax.github.io/compat-table/es6/#ie11

根据您设置测试环境的方式,您可以将运行这些测试的浏览器更改为不同的浏览器,例如 Chrome 或 Firefox。例如,如果您使用 Karma 作为测试运行器,则需要安装 npm 插件 karma-chrome-launcher 并配置 karma.conf.js 以便它使用 Chrome。

您尚未提供有关您的测试环境的详细信息,但您似乎仍在设置它,因此您可以继续使用 Jasmine 作为您的测试框架,另外使用 Karma 作为您的测试运行程序和免费的Visual Studio 插件 Chutzpah Test Adapter,可让您从命令行和 Visual Studio 内部运行 JavaScript 单元测试。

这需要您花费一些精力来进行设置,但是我有一份非常详细的指南,介绍了如何集成所有这些 here