无法使用 mocha-allure 访问全局 'allure' 对象

can not access global 'allure' object using mocha-allure

根据 mocha-allure 文档,如果你想在 before/beforeEach 之外使用 allure,你应该直接导入 reporter。或者一旦添加 mocha-allure-reporter 将创建具有以下 API:

的全局 allure 对象

https://github.com/allure-framework/allure-mocha

https://github.com/allure-examples/mocha-allure-example/blob/master/test/simple.spec.js

但是我按照文档中的示例进行操作,但是在 before 或 afterEach 中使用它时我得到了 Cannot find name 'allure'.

测试文件:

require('mocha-allure-reporter');
// const allure = require('mocha-allure-reporter'); // also tried this

describe( 'test', () => {
// code



before(async () => {
  // code here
});


  afterEach('first step', function () {
        const testStep = allure.createStep('initial', () => {
            console.log('create step');
          });
    });

配置:

mochaOpts: {
        reporterOptions: {
            reporterEnabled:
                mocha-allure-reporter,
          mochaAllureReporterReporterOptions: {
                targetDir: './reports/allure-results',
            },

试试下面的

const allure = require('mocha-allure-reporter');

allure 是一个全局标识符,由 reporter 注入到您的代码中。

将以下行添加到文件的顶部以将其告知 Typescript

declare const allure: any;

希望对你有帮助