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 @@ -![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%205%20failed%2C%201%20skipped-critical) +![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical) ## 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 }