Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sinon-如何检查数组键是否都具有特定值?_Javascript_Node.js_Json_Unit Testing_Sinon - Fatal编程技术网

Javascript Sinon-如何检查数组键是否都具有特定值?

Javascript Sinon-如何检查数组键是否都具有特定值?,javascript,node.js,json,unit-testing,sinon,Javascript,Node.js,Json,Unit Testing,Sinon,首先,我要说,我以前从未编写过单元测试,因此,如果你能明确地告诉我,不要假定我掌握了高级实践的知识。比你强 我正在尝试创建一个单元测试,以确保每个键“x”的值都是“y”。我的javascript将“a”、“b”或“c”传递到module.exports.handler=async(字母)=> 这将根据参数“a”、“b”或“c”过滤JSON,并返回具有键/值对的对象数组 如果传入了“a”,则具有键“x”的对象数组都具有值“y” 如果将“b”作为参数传递,则具有键“x”的对象数组具有值“z” 最后,

首先,我要说,我以前从未编写过单元测试,因此,如果你能明确地告诉我,不要假定我掌握了高级实践的知识。比你强

我正在尝试创建一个单元测试,以确保每个键
“x”
的值都是
“y”
。我的javascript将
“a”
“b”
“c”
传递到
module.exports.handler=async(字母)=>

这将根据参数
“a”
“b”
“c”
过滤JSON,并返回具有键/值对的对象数组

如果传入了
“a”
,则具有键
“x”
的对象数组都具有值
“y”

如果将
“b”
作为参数传递,则具有键
“x”
的对象数组具有值
“z”

最后,如果传入参数
“c”
,则键为
“x”
的对象数组的值为
“w”


我猜我最终会以某种方式使用
匹配器
(请参见)

我建议您使用该方法查看是否有任何对象具有不需要的值,如果存在任何,则您的测试应该失败

let array = [{x: "y"}, {x: "y"}, {x: "y"}, {x: "b"}]

isCorrect = (array, req) => {
  return (array.filter(v => v.x !== req))
}

console.log(isCorrect(array, "y").length ? "failed" : "passed")
正如评论中所说,实际上至少快了18%

let isSome = (list, req) => {
    return (list.some(v => v.x === req))
}

您也可以使用,…

您可以发布您正在测试的方法吗?
数组。有些
会更快。
let isSome = (list, req) => {
    return (list.some(v => v.x === req))
}