有没有人成功地使用Cucumber预处理器将屏幕截图包含在mocha-junit-reporter XML文件中?

vohkndzv  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(120)

我正在尝试生成XML Junit结果以包含在Gitlab管道结果中。
到目前为止,一切都很顺利:我已经生成了每个XML文件,并且它们在管道中按照我想要的方式显示。
然而,一旦我尝试嵌入在场景中拍摄的屏幕截图,我就无法使其工作。
我从这里开始:https://www.npmjs.com/package/mocha-junit-reporter#attachments
所以,我像这样生成了我的cypress.json:

"mochaJunitReporterReporterOptions": {
        "mochaFile": "cypress/reports/junit/results-[hash].xml",
        "attachments": true
    }

由于这似乎不是自动的,我添加了一个beforeEach钩子,其中:

this.test.attachments = ['cypress/screenshots/scenario/scenario.feature/test-scr.png'];

如果我试图在测试中设置这一行,而不是在引擎盖中,我会有一个错误:
无法读取未定义的属性(阅读'test')”
在这个文件夹中,这个文件存在,但我不确定我是否从好的文件夹级别开始包含它(无论如何,我尝试了几种可能性,但从未让它工作)。
我从来没有得到这个新标签:

<system-out>[[ATTACHMENT|path/to/file]]</system-out>

我感觉有一种不同的方式来处理cucumber预处理器,因为我们不再在 describeit 之间编写,但我没有证据。
我错过了什么?

6g8kf2rb

6g8kf2rb1#

在spec文件中,如果要使用this,请不要使用箭头函数。
与常规函数声明不同,箭头函数不会重新定义this
替换此

it('should pass'), () => {
    // your code
}

用这个

it('should pass'), function () {
    // your code
}

相关问题