使用mocha如何确定一个对象是否等于一个以上的值?
obj.should.equal('true\n' || 'false\n', "value is invalid");
似乎无效。它只是将obj与true\n
进行比较。我已经尝试过各种不同的语法,但是没有运气。我在网上找到的所有答案都要求我使用Chai,但是我宁愿使用Mocha来解决。
请注意,true和false只是示例。我最好会学习能够与任何事物进行比较,例如obj等于披萨或苹果
第一篇文章,以便更好地发表任何技巧,谢谢!
答案 0 :(得分:0)
假设我正确地阅读了the documentation,看起来.to.satisfy
就好像是需要的。
由于.to.satisfy
带有一个返回布尔值的函数,因此您应该能够像这样运行测试:
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
在内部使用的方式),此常规模式就应该起作用。