Я пытаюсь использовать драматурга. Если добавить мои тесты с использованием машинописного текста, например:
# example.spec.ts
import { test, expect } from '@playwright/test';
test('has title', async ({ page }) => {
await page.goto('https://playwright.dev/');
// Expect a title "to contain" a substring.
await expect(page).toHaveTitle(/Playwright/);
});
все работает нормально. Насколько я понимаю, это использование Babel для преобразования кода в Javascript и последующего его выполнения.
Дело в том, что в моей кодовой базе я везде использую swc для транспиляции TS->JS, и я не хочу, чтобы было иначе. Итак, я транспилирую свой файл example.spec.ts в example.ts.js с помощью swc, а затем передаю его драматургу. Транспилированный код выглядит следующим образом:
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
// ...
}
function _async_to_generator(fn) {
// ...
}
function _ts_generator(thisArg, body) {
// ...
}
import { test, expect } from '@playwright/test';
test('has title', function() {
var _ref = _async_to_generator(function(param) {
var page;
return _ts_generator(this, function(_state) {
switch(_state.label){
case 0:
page = param.page;
return [
4,
page.goto('https://playwright.dev/')
];
case 1:
_state.sent();
// Expect a title "to contain" a substring.
return [
4,
expect(page).toHaveTitle(/Playwright/)
];
case 2:
_state.sent();
return [
2
];
}
});
});
return function(_) {
return _ref.apply(this, arguments);
};
}());
И когда я запускаю его, происходит сбой
First argument must use the object destructuring pattern: _
First argument must use the object destructuring pattern: _
Подробнее здесь: https://stackoverflow.com/questions/793 ... -using-swc