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

Chutzpah does not let me reference a function with <reference path

我正在尝试通过 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

更新

(我已经剥离了一些我原来的 post 因为它不再有价值)

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

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

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

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

您没有提供有关测试环境的详细信息,但看起来您仍在设置它,因此您可以继续使用 Jasmine 作为测试框架并另外使用 Karma as your test runner and the free Visual Studio plugin Chutzpah Test Adapter,这使您能够运行 JavaScript 来自命令行和 Visual Studio.

内部的单元测试

从您这边设置它需要一些努力,但是我有一个非常详细的指南,介绍如何集成所有这些 here