Я занимаюсь тестированием разных языков сайта с помощью Testcafe. Вместо того чтобы писать n тестов для каждого языка, мне нужен один тестовый файл, который требует (n когда-либо меняющихся) языковых файлов.
Я много читал в том же духе, что это невозможно, поэтому моя идея заключалась в том, чтобы упаковать нужный язык в переменную среды и преобразовать его в путь к нужному объекту языка, примерно так:
// test.spec.js
//
const lang = require(path(__baseDir,"ressources","languages",process.env.LANG))
так как мне нужно использовать класс бегуна, я хотел «внедрить» переменную env.variable с помощью метода «startApp ()», например так:
//tcRunner.js
//
const createTestCafe = require("testcafe");
const launch = async function (tests, browser) {
const testcafe = await createTestCafe("localhost", 1337, 1338);
const runner = await testcafe.createRunner();
runner
.startApp("set LANG=en-GB")
.src("test.spec.js")
.browsers(browser)
.reporter("json", "reports/report.json")
.run()
.then(failed => {
console.log(failed + " Tests failed");
testcafe.close();
});
};
Как подсказывает моя публикация это не работает, и я надеялся, что вы можете указать мне направление (даже альтернативное), чтобы избежать написания сотен тестов для каждого языка.
Заранее спасибо.