mochawesome如何合并测试报告_mochawesome-report-generator

mochawesome-report-generator (marge) 是mochawesome的配套工具,用于将mochawesome的JSON输出转换为包含丰富HTML/CSS的测试报告。它支持测试套件的嵌套、显示钩子、失败测试的堆栈跟踪等功能,并提供过滤和响应式设计。要使用它,先安装mochawesome和marge,然后通过mocha命令指定mochawesome作为报告器,再用marge命令生成报告。
摘要由CSDN通过智能技术生成

Generates gorgeous HTML reports from mochawesome reporter.

mochawesome-report-generator (marge)

marge (mochawesome-report-generator) is the counterpart to mochawesome, a custom reporter for use with the Javascript testing framework, mocha. Marge takes the JSON output from mochawesome and generates a full fledged HTML/CSS report that helps visualize your test suites.

Features

Simple, clean, and modern design

Support for test and suite nesting

Displays before and after hooks

Review test code inline

Stack trace for failed tests

Support for adding context information to tests

Filters to display only the tests you want

Responsive and mobile-friendly

Offline viewing

CLI for generating reports independent of mochawesome

Usage with mochawesome

Add Mochawesome to your project:

npm install --save-dev mochawesome

Tell mocha to use the Mochawesome reporter:

mocha testfile.js --reporter mochawesome

If using mocha programatically:

var mocha = new Mocha({

reporter: 'mochawesome'

});

CLI Usage

Install mochawesome-report-generator package

npm install -g mochawesome-report-generator

Run the command

marge [options] data_file [data_file2 ...]

Output

marge generates the following inside your project directory:

mochawesome-report/

├── assets

│   ├── app.css

│   ├── app.js

│   ├── MaterialIcons-Regular.woff

│   ├── MaterialIcons-Regular.woff2

│   ├── roboto-light-webfont.woff

│   ├── roboto-light-webfont.woff2

│   ├── roboto-medium-webfont.woff

│   ├── roboto-medium-webfont.woff2

│   ├── roboto-regular-webfont.woff

│   └── roboto-regular-webfont.woff2

└── mochawesome.html

Options

CLI Flags

marge can be configured via the following command line flags:

Flag

Type

Default

Description

-f, --reportFilename

string

Filename of saved report

-o, --reportDir

string

[cwd]/mochawesome-report

Path to save report

-t, --reportTitle

string

mochawesome

Report title

-p, --reportPageTitle

string

mochawesome-report

Browser title

-i, --inline

boolean

false

Inline report assets (scripts, styles)

--cdn

boolean

false

Load report assets via CDN (unpkg.com)

--assetsDir

string

[cwd]/mochawesome-report/assets

Path to save report assets (js/css)

--charts

boolean

false

Display Suite charts

--code

boolean

true

Display test code

--autoOpen

boolean

false

Automatically open the report

--overwrite

boolean

true

Overwrite existing report files.

--timestamp, --ts

string

Append timestamp in specified format to report filename.

--showPassed

boolean

true

Set initial state of "Show Passed" filter

--showFailed

boolean

true

Set initial state of "Show Failed" filter

--showPending

boolean

true

Set initial state of "Show Pending" filter

--showSkipped

boolean

false

Set initial state of "Show Skipped" filter

--showHooks

string

failed

Set the default display mode for hooks

--saveJson

boolean

false

Should report data be saved to JSON file

--saveHtml

boolean

true

Should report be saved to HTML file

--dev

boolean

false

Enable dev mode (requires local webpack dev server)

-h, --help

Show CLI help

Boolean options can be negated by adding --no before the option. For example: --no-code would set code to false.

Overwrite

By default, report files are overwritten by subsequent report generation. Passing --overwrite=false will not replace existing files. Instead, if a duplicate filename is found, the report will be saved with a counter digit added to the filename. (ie. mochawesome_001.html).

Note: overwrite will always be false when passing multiple files or using the timestamp option.

Timestamp

The timestamp option can be used to append a timestamp to the report filename. It uses dateformat to parse format strings so you can pass any valid string that dateformat accepts with a few exceptions. In order to produce valid filenames, the following

replacements are made:

Characters

Replacement

Example

Output

spaces, commas

underscore

Wed March 29, 2017

Wed_March_29_2017

slashes

hyphen

3/29/2017

3-29-2017

colons

null

17:46:21

174621

Further, if you pass the flag with no format string, it will default to isoDateTime.

mochawesome reporter-options

The above CLI flags can be used as reporter-options when using the mochawesome reporter.

Use them in a mocha.opts file:

--reporter mochawesome

--reporter-options overwrite=true,reportTitle=My\ Custom\ Title,showPassed=false

or as an object when using mocha programmatically:

const mocha = new Mocha({

reporter: 'mochawesome',

reporterOptions: {

overwrite: true,

reportTitle: 'My Custom Title',

showPassed: false

}

});

Development

To develop locally, clone the repo and install dependencies. In order to test end-to-end you must also clone mochawesome into a directory at the same level as this repo.

You can start the dev server with npm run devserver. If you are working on the CLI, use npm run dev:cli to watch for changes and rebuild.

Running Tests

Unit Tests

To run unit tests, simply use npm run test. You can also run a single unit test with npm run test:single path/to/test.js.

Functional Tests

Functional tests allow you to run real-world test cases in order to debug the output report. First, start up the dev server in one terminal window with npm run devserver. Then, in another window, run the tests with npm run test:functional. This will generate a report that you can open in the browser and debug.

If you want to run a specific folder of functional tests:

npm run test:functional path/to/tests

Or if you want to run a single test:

npm run test:functional path/to/test.js

Or mix and match:

npm run test:functional path/to/some/tests path/to/another/test.js

Repository

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值