摩卡断言 object.should.equal(a or b)
Mocha assertion object.should.equal(a or b)
使用 mocha 如何断言一个对象是否等于多个值?
obj.should.equal('true\n' || 'false\n', "value is invalid");
好像不行。它只是将 obj 与 true\n
进行比较。我为此尝试了各种不同的语法,但没有成功。我在网上找到的所有答案都要求我使用 Chai,但我更愿意使用 Mocha 来解决这个问题。
请注意,true 和 false 只是示例。我最好学会能够与任何东西进行比较,例如 obj 等于披萨或苹果
首先 post 所以任何关于 post 更好的提示也将受到欢迎,谢谢!
假设我正在阅读 the documentation correctly, it looks as if .to.satisfy
就是所需要的。
因为 .to.satisfy
接受一个 returns 布尔值的函数,你应该能够 运行 你的测试像这样:
expect(obj).to.satisfy(function (value) {
var matches = [
true,
false,
];
return matches.indexOf(value) > -1;
}, "value is invalid");
expect(obj).to.satisfy(function (value) {
var matches = [
'true\n',
'false\n',
];
return matches.indexOf(value) > -1;
}, "value is invalid");
expect(obj).to.satisfy(function (value) {
var matches = [
'pizza',
'apples',
];
return matches.indexOf(value) > -1;
}, "value is invalid");
如果您需要严格相等(因为 Array.indexOf
内部使用的是这种方式),这种通用模式应该有效。)
使用 mocha 如何断言一个对象是否等于多个值?
obj.should.equal('true\n' || 'false\n', "value is invalid");
好像不行。它只是将 obj 与 true\n
进行比较。我为此尝试了各种不同的语法,但没有成功。我在网上找到的所有答案都要求我使用 Chai,但我更愿意使用 Mocha 来解决这个问题。
请注意,true 和 false 只是示例。我最好学会能够与任何东西进行比较,例如 obj 等于披萨或苹果
首先 post 所以任何关于 post 更好的提示也将受到欢迎,谢谢!
假设我正在阅读 the documentation correctly, it looks as if .to.satisfy
就是所需要的。
因为 .to.satisfy
接受一个 returns 布尔值的函数,你应该能够 运行 你的测试像这样:
expect(obj).to.satisfy(function (value) {
var matches = [
true,
false,
];
return matches.indexOf(value) > -1;
}, "value is invalid");
expect(obj).to.satisfy(function (value) {
var matches = [
'true\n',
'false\n',
];
return matches.indexOf(value) > -1;
}, "value is invalid");
expect(obj).to.satisfy(function (value) {
var matches = [
'pizza',
'apples',
];
return matches.indexOf(value) > -1;
}, "value is invalid");
如果您需要严格相等(因为 Array.indexOf
内部使用的是这种方式),这种通用模式应该有效。)