我正在尝试将文件加载到数组中,然后在它们上运行测试。这是我的代码:
let files: string[] = []
describe.only("Name of the group", () => {
beforeAll(() => {
files = ["a", "b"]
})
test.each(files)("runs", f => {
console.log(f)
})
})
但是,我得到
错误:
.each
用一个空的表数据数组调用。
我在做什么错?
谢谢!
答案 0 :(得分:3)
test.each
需要一个表值作为输入。这意味着一个数组的数组。但这是自动修复的,因此不必担心。
但是呼叫顺序在这里很重要!请注意,测试是在实际运行之前定义的。因此,beforeAll
将在定义测试后运行。这意味着在注册测试时不会定义files
数组。
为解决此问题,您需要确保在读取和注册测试之前,先填充files
数组
是这样的:
let files: string[] = []
describe('Something Something', () => {
beforeAll(() => files = [["a"], ["b"]]);
describe.only("Name of the group", () => {
test.each(files)("runs", f => {})
})
})
或者只是在玩笑之外共同定义:
const files = [['test1'],['test2']];
describe(....