diff --git a/__tests__/__outputs__/mocha-json.md b/__tests__/__outputs__/mocha-json.md
index ff2e8fa..3a9cdfb 100644
--- a/__tests__/__outputs__/mocha-json.md
+++ b/__tests__/__outputs__/mocha-json.md
@@ -1,11 +1,10 @@
-
+
## fixtures/mocha-json.json ❌
-**7** tests were completed in **14ms** with **1** passed, **5** failed and **1** skipped.
+**6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[test/main.test.js](#r0s0)|1✔️|3❌||1ms|
-|[test/second.test.js](#r0s1)||1❌|1✖️|NaNms|
-|[test/test.js](#r0s2)||1❌||0ms|
+|[test/second.test.js](#r0s1)||1❌|1✖️|8ms|
### test/main.test.js ❌
**4** tests were completed in **1ms** with **1** passed, **3** failed and **0** skipped.
@@ -25,16 +24,9 @@
|:---:|:---|---:|
|❌|Exception in test|0ms|
### test/second.test.js ❌
-**2** tests were completed in **NaNms** with **0** passed, **1** failed and **1** skipped.
+**2** tests were completed in **8ms** with **0** passed, **1** failed and **1** skipped.
|Result|Test|Time|
|:---:|:---|---:|
-|✖️|Skipped test|NaNms|
-|❌|Timeout test|10ms|
-### test/test.js ❌
-**1** tests were completed in **0ms** with **0** passed, **1** failed and **0** skipped.
-
-**Array #indexOf()**
-|Result|Test|Time|
-|:---:|:---|---:|
-|❌|should return -1 when the value is not present|0ms|
\ No newline at end of file
+|✖️|Skipped test|0ms|
+|❌|Timeout test|8ms|
\ No newline at end of file
diff --git a/__tests__/__snapshots__/mocha-json.test.ts.snap b/__tests__/__snapshots__/mocha-json.test.ts.snap
index 068a05d..ceb7062 100644
--- a/__tests__/__snapshots__/mocha-json.test.ts.snap
+++ b/__tests__/__snapshots__/mocha-json.test.ts.snap
@@ -86,7 +86,7 @@ false !== true
"error": undefined,
"name": "Skipped test",
"result": "skipped",
- "time": undefined,
+ "time": 0,
},
TestCaseResult {
"error": Object {
@@ -99,7 +99,7 @@ false !== true
},
"name": "Timeout test",
"result": "failed",
- "time": 10,
+ "time": 8,
},
],
},
@@ -107,31 +107,7 @@ false !== true
"name": "test/second.test.js",
"totalTime": undefined,
},
- TestSuiteResult {
- "groups": Array [
- TestGroupResult {
- "name": "Array #indexOf()",
- "tests": Array [
- TestCaseResult {
- "error": Object {
- "details": "AssertionError [ERR_ASSERTION]: 2 == -1
- at Context. (test\\\\test.js:5:14)
- at processImmediate (internal/timers.js:461:21)",
- "line": undefined,
- "message": "2 == -1",
- "path": undefined,
- },
- "name": "should return -1 when the value is not present",
- "result": "failed",
- "time": 0,
- },
- ],
- },
- ],
- "name": "test/test.js",
- "totalTime": undefined,
- },
],
- "totalTime": 14,
+ "totalTime": 12,
}
`;
diff --git a/__tests__/fixtures/mocha-json.json b/__tests__/fixtures/mocha-json.json
index 076e4da..3942efa 100644
--- a/__tests__/fixtures/mocha-json.json
+++ b/__tests__/fixtures/mocha-json.json
@@ -1,20 +1,20 @@
{
"stats": {
- "suites": 5,
- "tests": 7,
+ "suites": 3,
+ "tests": 6,
"passes": 1,
"pending": 1,
- "failures": 5,
- "start": "2021-02-23T14:20:41.144Z",
- "end": "2021-02-23T14:20:41.158Z",
- "duration": 14
+ "failures": 4,
+ "start": "2021-02-24T20:26:09.297Z",
+ "end": "2021-02-24T20:26:09.309Z",
+ "duration": 12
},
"tests": [
{
"title": "Timeout test",
"fullTitle": "Timeout test",
"file": "C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\second.test.js",
- "duration": 10,
+ "duration": 8,
"currentRetry": 0,
"err": {
"stack": "Error: Timeout of 1ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\second.test.js)\n at listOnTimeout (internal/timers.js:554:17)\n at processTimers (internal/timers.js:497:7)",
@@ -78,23 +78,6 @@
"stack": "Error: Some error\n at Context. (test\\main.test.js:22:11)\n at processImmediate (internal/timers.js:461:21)",
"message": "Some error"
}
- },
- {
- "title": "should return -1 when the value is not present",
- "fullTitle": "Array #indexOf() should return -1 when the value is not present",
- "file": "C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\test.js",
- "duration": 0,
- "currentRetry": 0,
- "err": {
- "stack": "AssertionError [ERR_ASSERTION]: 2 == -1\n at Context. (test\\test.js:5:14)\n at processImmediate (internal/timers.js:461:21)",
- "message": "2 == -1",
- "generatedMessage": true,
- "name": "AssertionError",
- "code": "ERR_ASSERTION",
- "actual": "2",
- "expected": "-1",
- "operator": "=="
- }
}
],
"pending": [
@@ -111,7 +94,7 @@
"title": "Timeout test",
"fullTitle": "Timeout test",
"file": "C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\second.test.js",
- "duration": 10,
+ "duration": 8,
"currentRetry": 0,
"err": {
"stack": "Error: Timeout of 1ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\second.test.js)\n at listOnTimeout (internal/timers.js:554:17)\n at processTimers (internal/timers.js:497:7)",
@@ -159,23 +142,6 @@
"stack": "Error: Some error\n at Context. (test\\main.test.js:22:11)\n at processImmediate (internal/timers.js:461:21)",
"message": "Some error"
}
- },
- {
- "title": "should return -1 when the value is not present",
- "fullTitle": "Array #indexOf() should return -1 when the value is not present",
- "file": "C:\\Users\\Michal\\Workspace\\dorny\\test-reporter\\reports\\mocha\\test\\test.js",
- "duration": 0,
- "currentRetry": 0,
- "err": {
- "stack": "AssertionError [ERR_ASSERTION]: 2 == -1\n at Context. (test\\test.js:5:14)\n at processImmediate (internal/timers.js:461:21)",
- "message": "2 == -1",
- "generatedMessage": true,
- "name": "AssertionError",
- "code": "ERR_ASSERTION",
- "actual": "2",
- "expected": "-1",
- "operator": "=="
- }
}
],
"passes": [
diff --git a/reports/mocha/package.json b/reports/mocha/package.json
index 0b20b1e..b47fd5b 100644
--- a/reports/mocha/package.json
+++ b/reports/mocha/package.json
@@ -4,8 +4,7 @@
"private": true,
"description": "Generates test fixtures for test-reporter action",
"scripts": {
- "test-json": "mocha --reporter json > ../../__tests__/fixtures/mocha-json.json",
- "test": "mocha"
+ "test": "mocha --reporter json > ../../__tests__/fixtures/mocha-json.json"
},
"author": "Michal Dorner ",
"license": "MIT",
diff --git a/src/parsers/mocha-json/mocha-json-parser.ts b/src/parsers/mocha-json/mocha-json-parser.ts
index 0724711..d44f54a 100644
--- a/src/parsers/mocha-json/mocha-json-parser.ts
+++ b/src/parsers/mocha-json/mocha-json-parser.ts
@@ -71,7 +71,7 @@ export class MochaJsonParser implements TestParser {
}
const error = this.getTestCaseError(test)
- const testCase = new TestCaseResult(test.title, result, test.duration, error)
+ const testCase = new TestCaseResult(test.title, result, test.duration ?? 0, error)
group.tests.push(testCase)
}
diff --git a/src/parsers/mocha-json/mocha-json-types.ts b/src/parsers/mocha-json/mocha-json-types.ts
index bce2f70..8743af8 100644
--- a/src/parsers/mocha-json/mocha-json-types.ts
+++ b/src/parsers/mocha-json/mocha-json-types.ts
@@ -13,7 +13,7 @@ export interface MochaJsonTest {
title: string
fullTitle: string
file: string
- duration: number
+ duration?: number
err: MochaJsonTestError
}