首页 > 解决方案 > 捕获量角器测试用例的通过/失败以进行自定义报告

问题描述

我最近在我们公司为我们的角度应用程序设置了 Protractor 测试 - 并且正在寻找一种简单的方法来捕获规范类中每个场景的通过/失败状态。有没有一种简单的方法可以做到这一点?我试过弄乱jasmine-spec-reporter,但也许我在那里遗漏了一些东西来提取我需要的数据。任何帮助,将不胜感激。

我试过这样的事情:

let currentSpec = jasmine.getEnv().currrentSpec, passed = currentSpec.results().passed();

但我总是遇到类似的问题

currentSpec 未指定

理想情况下,如果可能的话,我想在没有茉莉花报告的情况下捕捉通过或失败。

标签: javascriptangularjstypescriptprotractorautomated-tests

解决方案


你要找的其实specDone不是afterEach。您要么需要修改specDone当前使用的报告器的功能,要么构建适合您需要的自定义报告器。

https://jasmine.github.io/2.1/custom_reporter.html#section-specDone

创建您的自定义报告器:

// myReporter.js
module.exports = {
  specDone: (result) => {
    // do stuff...
  }
}

然后在你的量角器配置中,你会有这样的东西:

const myReporter = require('myReporter');

// other config properties

onPrepare: function() {
  jasmine.getEnv().addReporter(myReporter);        
}

推荐阅读