237 lines
3.5 KiB
Markdown
237 lines
3.5 KiB
Markdown
Lets take the below testsuite and see how the reporting should be, based on the standard.
|
|
|
|
```js
|
|
|
|
it('global test', function() {
|
|
|
|
});
|
|
|
|
describe('suite 1', function() {
|
|
describe('suite 2', function() {
|
|
it('test2', function() {
|
|
expect(true).to.be.true;
|
|
});
|
|
});
|
|
|
|
it('test1', function() {
|
|
expect(true).to.be.true;
|
|
expect(true).to.be.false;
|
|
});
|
|
});
|
|
```
|
|
|
|
The emitted events and data will be in the following order:
|
|
|
|
- **runStart**:
|
|
|
|
```js
|
|
Suite {
|
|
name: undefined,
|
|
fullName: [],
|
|
tests: [Test('global test')],
|
|
childSuites: [Suite('suite1')],
|
|
status: undefined,
|
|
testCounts: {
|
|
passed: undefined,
|
|
failed: undefined,
|
|
skipped: undefined,
|
|
total: 2
|
|
},
|
|
runtime: undefined
|
|
}
|
|
```
|
|
|
|
- **testStart**
|
|
|
|
```js
|
|
Test {
|
|
name: 'global test',
|
|
suiteName: undefined,
|
|
fullName: ['global test'],
|
|
status: undefined,
|
|
runtime: undefined,
|
|
errors: undefined,
|
|
assertions: undefined
|
|
}
|
|
```
|
|
|
|
- **testEnd**
|
|
|
|
```js
|
|
Test {
|
|
name: 'global test',
|
|
suiteName: undefined,
|
|
fullName: ['global test'],
|
|
status: 'passed',
|
|
runtime: 1,
|
|
errors: [],
|
|
assertions: []
|
|
```
|
|
|
|
- **suiteStart**
|
|
|
|
```js
|
|
Suite {
|
|
name: 'suite1',
|
|
fullName: ['suite1'],
|
|
tests: [Test('test1')],
|
|
childSuites: [Suite('suite2')],
|
|
status: undefined,
|
|
testCounts: {
|
|
passed: undefined,
|
|
failed: undefined,
|
|
skipped: undefined,
|
|
total: 2
|
|
},
|
|
runtime: undefined
|
|
```
|
|
|
|
- **suiteStart**
|
|
|
|
```js
|
|
Suite {
|
|
name: 'suite2',
|
|
fullName: ['suite1', 'suite2'],
|
|
tests: [Test('test2')],
|
|
childSuites: [],
|
|
status: undefined,
|
|
testCounts: {
|
|
passed: undefined,
|
|
failed: undefined,
|
|
skipped: undefined,
|
|
total: 1
|
|
},
|
|
runtime: undefined
|
|
```
|
|
|
|
- **testStart**
|
|
|
|
```js
|
|
Test {
|
|
name: 'test2',
|
|
suiteName: 'suite2',
|
|
fullName: ['suite1', 'suite2', 'test2'],
|
|
status: undefined,
|
|
runtime: undefined,
|
|
errors: undefined,
|
|
assertions: undefined
|
|
```
|
|
|
|
- **testEnd**:
|
|
|
|
```js
|
|
Test {
|
|
name: 'test2',
|
|
suiteName: 'suite2',
|
|
fullName: ['suite1', 'suite2', 'test2'],
|
|
status: `passed`,
|
|
runtime: 1,
|
|
errors: [],
|
|
assertions: [{
|
|
passed: true,
|
|
actual: true,
|
|
expected: true,
|
|
message: `some message`,
|
|
stack: undefined
|
|
}]
|
|
```
|
|
|
|
- **suiteEnd**
|
|
|
|
```js
|
|
Suite {
|
|
name: 'suite2',
|
|
fullName: ['suite1', 'suite2'],
|
|
tests: [Test('test2')],
|
|
childSuites: [],
|
|
status: `passed`,
|
|
testCounts: {
|
|
passed: 1,
|
|
failed: 0,
|
|
skipped: 0,
|
|
total: 1
|
|
},
|
|
runtime: 1
|
|
```
|
|
|
|
- **testStart**
|
|
|
|
```js
|
|
Test {
|
|
name: 'test1',
|
|
suiteName: 'suite1',
|
|
fullName: ['suite1', 'test'],
|
|
status: undefined,
|
|
runtime: undefined,
|
|
errors: undefined,
|
|
assertions: undefined
|
|
```
|
|
|
|
- **testEnd**:
|
|
|
|
```js
|
|
Test {
|
|
name: 'test1',
|
|
suiteName: 'suite1',
|
|
fullName: ['suite1', 'test'],
|
|
status: `failed`,
|
|
runtime: 2,
|
|
errors: [{
|
|
passed: false,
|
|
actual: true,
|
|
expected: false,
|
|
message: `some message`,
|
|
stack: `stack trace`
|
|
}],
|
|
assertions: [{
|
|
passed: true,
|
|
actual: true,
|
|
expected: true,
|
|
message: `some message`,
|
|
stack: undefined
|
|
}, {
|
|
passed: false,
|
|
actual: true,
|
|
expected: false,
|
|
message: `some message`,
|
|
stack: `stack trace`
|
|
}]
|
|
```
|
|
|
|
- **suiteEnd**
|
|
|
|
```js
|
|
Suite {
|
|
name: 'suite1',
|
|
fullName: ['suite1'],
|
|
tests: [Test('test1')],
|
|
childSuites: [],
|
|
status: `failed`,
|
|
testCounts: {
|
|
passed: 1,
|
|
failed: 1,
|
|
skipped: 0,
|
|
total: 2
|
|
},
|
|
runtime: 3
|
|
```
|
|
|
|
- **runEnd**:
|
|
|
|
```js
|
|
Suite {
|
|
name: undefined,
|
|
fullName: [],
|
|
tests: [Test('global test')],
|
|
childSuites: [Suite('suite1')],
|
|
status: `failed`,
|
|
testCounts: {
|
|
passed: 2,
|
|
failed: 1,
|
|
skipped: 0,
|
|
total: 3
|
|
},
|
|
runtime: 4
|
|
}
|
|
```
|