just-test-node 2.0.0-alpha.6 → 2.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Test.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare class Test {
|
|
|
13
13
|
constructor(title: string, testFunction: (test: TestParams) => Promise<void> | void, parent: Suite, location: FunctionCodeRange);
|
|
14
14
|
discover(): DiscoveredTest;
|
|
15
15
|
run(options: TestRunOptions): Promise<TestRunResult>;
|
|
16
|
+
private startLogsRecorder;
|
|
16
17
|
private isPromise;
|
|
17
18
|
private withTimeout;
|
|
18
19
|
}
|
package/lib/Test.js
CHANGED
|
@@ -33,6 +33,7 @@ class Test {
|
|
|
33
33
|
async run(options) {
|
|
34
34
|
const testParams = new TestParamsClass();
|
|
35
35
|
const startTime = performance.now();
|
|
36
|
+
const endLogsRecorder = this.startLogsRecorder();
|
|
36
37
|
const restoreStackFunc = (0, StackTrace_1.setStackRoot)(callSite => callSite.getTypeName() == Test.name &&
|
|
37
38
|
callSite.getFunctionName() == this.run.name);
|
|
38
39
|
try {
|
|
@@ -43,16 +44,29 @@ class Test {
|
|
|
43
44
|
else
|
|
44
45
|
await this.withTimeout(result, testParams.timeout);
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
const logs = endLogsRecorder();
|
|
48
|
+
return Promise.resolve(new TestRunResult_1.TestRunResult(this.title, performance.now() - startTime, testParams.stage, logs, true));
|
|
47
49
|
}
|
|
48
50
|
catch (reason) {
|
|
51
|
+
const logs = endLogsRecorder();
|
|
49
52
|
const reasonText = (0, reason_stringify_1.stringifyReason)(reason);
|
|
50
|
-
return Promise.resolve(new TestRunResult_1.TestRunResult(this.title, performance.now() - startTime, testParams.stage, false, reasonText));
|
|
53
|
+
return Promise.resolve(new TestRunResult_1.TestRunResult(this.title, performance.now() - startTime, testParams.stage, logs, false, reasonText));
|
|
51
54
|
}
|
|
52
55
|
finally {
|
|
53
56
|
restoreStackFunc();
|
|
54
57
|
}
|
|
55
58
|
}
|
|
59
|
+
startLogsRecorder() {
|
|
60
|
+
let text = "";
|
|
61
|
+
const originalLog = console.log;
|
|
62
|
+
console.log = (...data) => {
|
|
63
|
+
text += data.map(e => `${e}`).join(" ") + "\n";
|
|
64
|
+
};
|
|
65
|
+
return () => {
|
|
66
|
+
console.log = originalLog;
|
|
67
|
+
return text;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
56
70
|
isPromise(result) {
|
|
57
71
|
return !!result && typeof result.then === "function";
|
|
58
72
|
}
|
|
@@ -74,4 +88,4 @@ class Test {
|
|
|
74
88
|
}
|
|
75
89
|
exports.Test = Test;
|
|
76
90
|
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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
|
|
@@ -3,7 +3,8 @@ export declare class TestRunResult {
|
|
|
3
3
|
title: string;
|
|
4
4
|
elapsed: number;
|
|
5
5
|
stage: TestStage;
|
|
6
|
+
consoleOutput: string;
|
|
6
7
|
passed: boolean;
|
|
7
8
|
reason?: string | undefined;
|
|
8
|
-
constructor(title: string, elapsed: number, stage: TestStage, passed: boolean, reason?: string | undefined);
|
|
9
|
+
constructor(title: string, elapsed: number, stage: TestStage, consoleOutput: string, passed: boolean, reason?: string | undefined);
|
|
9
10
|
}
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TestRunResult = void 0;
|
|
4
4
|
class TestRunResult {
|
|
5
|
-
constructor(title, elapsed, stage, passed, reason) {
|
|
5
|
+
constructor(title, elapsed, stage, consoleOutput, passed, reason) {
|
|
6
6
|
this.title = title;
|
|
7
7
|
this.elapsed = elapsed;
|
|
8
8
|
this.stage = stage;
|
|
9
|
+
this.consoleOutput = consoleOutput;
|
|
9
10
|
this.passed = passed;
|
|
10
11
|
this.reason = reason;
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
exports.TestRunResult = TestRunResult;
|
|
14
15
|
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJ1bi1yZXN1bHRzL1Rlc3RSdW5SZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBQ3pCLFlBQ1EsS0FBYSxFQUNiLE9BQWUsRUFDZixLQUFnQixFQUNoQixhQUFxQixFQUNyQixNQUFlLEVBQ2YsTUFBZTtRQUxmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUN2QixDQUFDO0NBQ0Q7QUFURCxzQ0FTQyIsImZpbGUiOiJydW4tcmVzdWx0cy9UZXN0UnVuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|