Javascript 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' ] 这个数组中重复项的原因是每个触发器

我遇到一个问题,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' ]
这个数组中重复项的原因是每个触发器都应该有自己的“语言”,所以我必须根据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}`)     
                      })
                    }
                }
            })
        }
    })
})

你怎么知道测试不是针对每个项目执行的?