Jest测试和使用JavaScript更改属性值
我正试图用笑话写一个测试。如果计算的属性给出这样的工具提示,则已经有类似的测试。现在,我试图测试具有内联引用的属性是否会给出这样的工具提示。分析列表中添加了“hasInlineRef:false”。它必须为false,否则将覆盖上一个测试。但是在为我的测试初始化它时,我想将其更改为hasInlineRef=true,这将使测试通过。我怀疑是我对JavaScript的知识非常有限导致我在这里失败Jest测试和使用JavaScript更改属性值,javascript,jestjs,Javascript,Jestjs,我正试图用笑话写一个测试。如果计算的属性给出这样的工具提示,则已经有类似的测试。现在,我试图测试具有内联引用的属性是否会给出这样的工具提示。分析列表中添加了“hasInlineRef:false”。它必须为false,否则将覆盖上一个测试。但是在为我的测试初始化它时,我想将其更改为hasInlineRef=true,这将使测试通过。我怀疑是我对JavaScript的知识非常有限导致我在这里失败 描述(“分析列表”,()=>{ 常量分析列表:数组=[{ 价值:“AAAAA”, 计数:23456,
描述(“分析列表”,()=>{
常量分析列表:数组=[{
价值:“AAAAA”,
计数:23456,
答案:错,
hasInlineRef:错,
dbValue:“AAAAA”
}, {
值:“AA”,
计数:800,
是的,
hasInlineRef:错,
dbValue:“AA”
}];
回答问题“如何更改数组中的单个属性?”的答案很简单:
analysisList[0].hasInlineRef = true;
在这里,我们可以看到通过其索引([0]
)访问数组项,并通过其名称访问属性hasInlineRef
需要对数组中的所有项执行相同的操作使我们可以使用循环:
for(item in analysisList) {
item.hasInlineRef = true;
}
或使用可用于任何阵列的方法:
analysisList.forEach(item => {
item.hasInlineRef = true;
})
有关在JS中使用阵列的更多信息:
感谢原始的analysisList
更改,以及我们逐个转换其任何项
但是,如果我们从最开始的角度来看,我认为每个测试用例都改变测试数据是个坏主意。为什么
如果您不喜欢在测试代码中有巨大的数据负载,您可以将其移动到具有一些细微差别的单独的
数据中。json
,另一个数据负载。json
并在导入
语句的帮助下将其加载到测试中。是否有任何东西阻止您以不同的方式将不同的数据传递到
测试用例?属性值在使用此AnalysisList的其他测试用例中没有更改。因此我猜这只是一个简单的JavaScript问题,在初始化之前更改值。非常感谢