Chutzpah 和 Jasmine 在我的 Visual Studio 解决方案中运行良好,用于我的 javascript 测试。
我有一个问题,我认为是胆小鬼,但我不能 100% 确定(可能是 Jasmine)。
我现在需要测试我的扩展方法,其中包含类似于
的代码if (!Array.prototype.where) {
Array.prototype.where = function(callback) {
const arr = [];
this.forEach(function(item) {
if (callback(item)) {
arr.push(item);
}
});
return arr;
};
}
我的茉莉花测试是。
//arrange
const array = [];
const fixedInput = "a";
array.push(fixedInput);
array.push("b");
//act
const result = array.where(a => a === fixedInput);
//console.log(result);
//assert
const expected = [fixedInput];
expect(result).toBe(expected);
expect(result.length).toBe(1);
我无法通过命令行或 Visual Studio 中的 Chutzpah 插件运行此测试(并且它在 VS 中未显示为可行的测试)
如果我注释掉 const result = array.where(a => a === fixedInput);
,那么就会发现测试。
如果我执行测试,并注释掉该行,则会显示测试结果的 Jasmine 网页 - 打开它后,我可以编辑测试,取消注释该行并得到我期望的结果(但仅限于几秒钟,直到结果页面变成“找不到文件”)。
输出窗口显示
<块引用>执行测试文件时发生未知错误。收到退出代码 2
我不知道如何解决这个问题。有什么建议吗?
答案 0 :(得分:1)
您可能遇到了一个问题,即 Chutzpah 默认使用旧的 JS 引擎。您应该将 chutzpah.json 配置为使用更新的 https://github.com/mmanela/chutzpah/wiki/Browser-Engines