我正在尝试使用Jasmine,通过NodeJs和Chutzpah来测试我项目中的javascript。这是在Visual Studio
中茉莉测试看起来像
/// <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" ]
}
]
}
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单元测试。
这将需要一点努力来设置它,但是我有一个非常详细的指南关于如何集成所有这些在这里。