Typescript и ESM
Typescript в Testplane
Testplane поддерживает TypeScript из коробки — вам не нужно настраивать дополнительные инструменты для транспайлинга, вы сразу можете писать тесты:
describe("test examples", () => {
it("Открыть главную страницу и проверить заголовок", async ({ browser }) => {
await browser.url("https://testplane.io/");
const title = await browser.getTitle();
expect(title).toContain("Testplane");
});
});
И указывать .ts файлы напрямую в конфиге:
// .testplane.config.ts
export default {
sets: {
desktop: {
files: ["tests/**/*.ts"],
},
},
};
Варианты транспайлинга
Testplane автоматически использует @swc/core для транспайлинга, если этот пакет установлен в проекте, в противном случае он задействует esbuild, который уже включён в состав Testplane:
if (envVar && hasSwcCore()) {
// Используем @swc/core
} else {
// Используем esbuild
}
Важно
Проверку типов необходимо реализовывать отдельно с помощью tsc и конфига.
Если автоматический трайнспайлинг не подходит из-за специфики проекта, чтобы отключить его и настроить самостоятельно, опишите переменную окружения TS_ENABLE=false в конфигурационном файле:
//typescript.ts
if (processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK] || process.env.TS_ENABLE === "false") {
return;
}