我正在尝试通过 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" ]
}
]
}
答案 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。