# 项目集成

通过对 Mocha 生成的数据进行简单处理之后,可以调用 macaca-reporter/lib/render 方法生成报告器。

# 生成数据

通过在 Mocha 完成每个测试用例后,对数据进行处理,最终将数据输出在本地。

核心代码:

const handleTestEnd = (isEnd) => {
  const obj = getSuiteData(isEnd);
  obj.stats.duration = obj.suites._totalTime || 0;
  this.output = obj;
};

this.done = (failures, exit) => done(this.output, this.config, failures, exit);

runner.on('start', () => {
  this._originSuiteData = runner.suite;
});

runner.on('test end', test => {
  test.uuid = uuid();
  handleTestEnd();
});

runner.once('end', () => {
  handleTestEnd(true);
  self.epilogue.bind(self);
});

具体代码可以参考 uitest (opens new window)开始 (opens new window) - 结束 (opens new window)

# 生成报告器

生成数据后,通过 render 方法渲染出报告器页面:

  const render = require('macaca-reporter/lib/render');
  const data = require('./reports/json-final');
  render(data);

参考项目:Hilo (opens new window)

# Jest 集成

使用 macaca-reporter-jest (opens new window) 可以完成 jest 工具的集成使用。

# Java 工程集成

使用 macaca-reporter-java-plugin 可以完成 Java 工程的集成使用。