Вы забыли закрывающую скобку в строке beforeEach ().
let a;
beforeEach(() => {
a = 'hello';
} );
У вас также есть i% и% 1 для целых чисел, и вам нужны строки (% s).
Только с одним тестом вам не нужен beforeEach (), и вы можете просто выполнить:
const a:string = 'hello';
test.each([[a, 'hello']])(
'.compare(%s, %s)',
(myVariable, expected) => {
expect(myVariable).toBe(expected);
},
);
Однако я не могу заставить это работать.Я могу ссылаться на переменную непосредственно в тесте, например:
const a:string = 'hello';
test.each([[a, 'hello']])(
'.compare(%s, %s)',
(myVariable, expected) => {
expect(a).toBe(expected);
},
);
Использование myVariable не приведет к получению значения из замкнутого цикла теста.Литералы работают, хотя.BeforeEach откажется от цели установки значения, так как его не нужно будет изменять в середине test.each (), поскольку это предназначено для запуска одного и того же теста с разными данными.Вы по-прежнему можете создавать объекты и другие необходимые вещи в вашем beforeEach и ссылаться на них напрямую (моя переменная), но тестовые данные, которые изменяются при каждом запуске, похоже, не получают значение из внешнего цикла.