Chutzpah 或 Jasmine 不允许我 运行 测试使用原型
Chutzpah or Jasmine does not let me run tests which use prototype
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 网页 - 打开它,我可以编辑测试,取消注释该行,我得到我期望的结果(但是只持续几秒钟,直到结果页面变成“找不到文件”)。
输出window显示
Unknown error occurred when executing test file. Received exit code of 2
我不知道如何解决这个问题。有什么建议吗?
您可能遇到了一个问题,即 Chutzpah 默认使用旧的 JS 引擎。您应该将 chutzpah.json 配置为使用较新的 https://github.com/mmanela/chutzpah/wiki/Browser-Engines
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 网页 - 打开它,我可以编辑测试,取消注释该行,我得到我期望的结果(但是只持续几秒钟,直到结果页面变成“找不到文件”)。
输出window显示
Unknown error occurred when executing test file. Received exit code of 2
我不知道如何解决这个问题。有什么建议吗?
您可能遇到了一个问题,即 Chutzpah 默认使用旧的 JS 引擎。您应该将 chutzpah.json 配置为使用较新的 https://github.com/mmanela/chutzpah/wiki/Browser-Engines