Javascript Jest没有对数组中的每个元素执行每个测试
我遇到一个问题,Jest没有为数组中的每个项运行测试Javascript Jest没有对数组中的每个元素执行每个测试,javascript,jestjs,Javascript,Jestjs,我遇到一个问题,Jest没有为数组中的每个项运行测试 const newUniqueLangs = ['de', 'de', 'de', 'de', 'de', 'de', 'it', 'it', 'it', 'it', 'it', 'it', 'nl', 'nl', 'nl', 'nl', 'nl', 'nl', 'fr', 'fr', 'fr', 'fr', 'fr', 'fr', 'en', 'en', 'en', 'en', 'en', 'en' ] 这个数组中重复项的原因是每个触发器
const newUniqueLangs = ['de', 'de', 'de', 'de', 'de', 'de', 'it', 'it', 'it', 'it', 'it', 'it', 'nl', 'nl', 'nl', 'nl', 'nl', 'nl', 'fr', 'fr', 'fr', 'fr', 'fr', 'fr', 'en', 'en', 'en', 'en', 'en', 'en' ]
这个数组中重复项的原因是每个触发器都应该有自己的“语言”,所以我必须根据userTriggerFile中有多少触发器来复制它。在这种情况下,每种语言应该有6种
// UserTriggerFile is a big dictionary and I'm accessing each message in this
// Trigger messages is just an array of messages.
it('has a valid triggers for each particular language', () => {
newUniqueLangs.forEach(function (lang) {
for (const key in userTriggerFile) {
userTriggerFile[key].forEach(function (obj) {
if (obj.Message) {
if (obj.LocaleMessage) {
expect(triggerMessages).toContain(`${obj.Message + '-' + lang}`)
}
}
})
}
})
})
问题是应该对此数组中的每个项执行此测试,但事实并非如此。我相信这是嵌套for循环的一个问题。我一直在开玩笑地看“test.each”,可能是因为我错过了这个?回答,我把“it”语句放错地方了:
describe('test triggers', () => {
newUniqueLangs.forEach(function (lang) {
for (const key in userTriggerFile) {
userTriggerFile[key].forEach(function (obj) {
if (obj.Message) {
if (obj.LocaleMessage) {
it('has a valid triggers for each particular language', () => {
expect(triggerMessages).toContain(`${obj.Message + '-' + lang}`)
})
}
}
})
}
})
})
你怎么知道测试不是针对每个项目执行的?