Node.js assert.deep等于2个值
Node.js assert.deepEqual 2 values
我有一个发送两个对象的函数:
function A(){
var message = {
cmd: 'one',
msg: {
type: 'test',
id: 1
}
sendTest(message)
message = {
cmd: 'two',
msg: {
type: 'test_a',
id: 2
}
sendTest(message)
}
我可以在单元测试中使用assert.deepEqual来测试带有两个不同对象的"消息"吗?
也许它看起来像assert.deepEqual(message, test_message1 || test_message2)
或(assert.deepEqual(message, test_message1) || assert.deepEqual(message, test_message2))
Chai使用深度eql库执行深度相等检查。这展示了如何使用它来检查一个对象是否与集合中的一个对象完全相等。这里我们测试的对象是q
,我们希望确保它与message1
或message2
中的至少一个深度相等。将q
更改为某个随机值,以查看测试是否失败。编写该代码是为了方便地对照更长的可能消息列表进行检查。
var assert = require("chai").assert;
var eql = require("deep-eql");
var message1 = {
cmd: 'one',
msg: {
type: 'test',
id: 1
}
};
var message2 = {
cmd: 'two',
msg: {
type: 'test_a',
id: 2
}
};
var q = {
cmd: 'one',
msg: {
type: 'test',
id: 1
}
};
var found;
var candidates = [message1, message2];
for(var i = 0; !found && i < candidates.length; ++i)
if (eql(candidates[i], q))
found = candidates[i];
assert.isDefined(found, "did not find a match");
相关文章:
- 为复选框javascript指定两个值
- 如何在这里将两个值最低的数字相加
- 在数组中的一个元素上设置多个值
- 在对象数组中查找多个值的d3范围
- 使用Ajax的问题's发送多个值的Post方法
- 添加具有多个值的复选框
- 如何将多个值传递给控制器
- 如何匹配多个值使用正则表达式返回单个值
- JavaScript:检查变量是否等于两个或多个值之一的简单方法
- 使用 1 函数使一个值等于几个不同的变量
- Node.js assert.deep等于2个值
- 如何使用 javascript 检查两个值是否不等于空
- 数组等于两个不同的值,并动态更改变量
- 如果填充了三个输入并且两个特定的输入相等,则会更改按钮样式;除非不删除“不等于”输入的值,否则它可以工作
- 哪个运算符在Javascript中最快检查两个值是否等于0
- Count数组中两个元素小于或等于一个求和值的次数
- JAVASCRIPT VAR等于多个值
- 如果多个对象等于相同的值
- 使int值等于两个数字之间的值
- AngularJS过滤两个值小于或等于值的选择输入