Я объявил свойство в конструкторе класса и доступ к нему через методы, которые объявлены как «статические», с «этим», и оно недоступно.Как получить доступ к переменным конструктора (класса) внутри статических методов?
export class Reporter {
constructor() {
this.jsonReports = path.join(process.cwd(), "/reports/json")
this.cucumberReporterOptions = {
jsonFile: targetJson,
output: htmlReports + "/cucumber_reporter.html",
reportSuiteAsScenarios: true,
theme: "bootstrap",
}
}
static createHTMLReport() {
try {
reporter.generate(this.cucumberReporterOptions);
} catch (err) {
}
}
}
Обновлено:
Согласно "@CodingIntrigue", я сделал это в файле 'reporter.js'и вызвал метод как Reporter.createHTMLReport () в моем файле конфигурации, и он работает, как ожидалось.Но не уверен, что это лучшая практика.
const jsonReports = path.join(process.cwd(), "/reports/json")
const cucumberReporterOptions = {
jsonFile: targetJson,
output: htmlReports + "/cucumber_reporter.html",
reportSuiteAsScenarios: true,
theme: "bootstrap",
}
export class Reporter {
static createHTMLReport() {
try {
reporter.generate(cucumberReporterOptions);
} catch (err) {
}
}
}