MCPcopy Index your code
hub / github.com/NativeScript/NativeScript / printRunTestStats

Function printRunTestStats

apps/automated/src/test-runner.ts:330–369  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

328let testsQueue = new Array<TestInfo>();
329
330function printRunTestStats() {
331 let failedTestCount = 0;
332 const failedTestInfo = [];
333 const slowTests = new Array<string>();
334
335 let allTests = testsQueue.filter((t) => t.isTest);
336
337 allTests.forEach((testCase, i, arr) => {
338 let testName = testCase.testName;
339 if (!testCase.isPassed) {
340 failedTestCount++;
341 failedTestInfo.push(testName + ' FAILED: ' + testCase.errorMessage);
342 }
343
344 let duration = (testCase.duration / 1000).toFixed(2);
345 if (testCase.duration > 500) {
346 slowTests.push(`${testName}: ${duration}s`);
347 }
348 });
349
350 const totalTime = (TKUnit.time() - startTime).toFixed(2);
351
352 let finalMessage = `\n` + `=== ALL TESTS COMPLETE ===\n` + `${allTests.length - failedTestCount} OK, ${failedTestCount} failed\n` + `DURATION: ${totalTime} ms\n` + `=== END OF TESTS ===\n`;
353
354 Trace.setCategories(Trace.categories.Test);
355 Trace.enable();
356 TKUnit.write(finalMessage, Trace.messageType.info);
357
358 failedTestInfo.forEach((message, i, arr) => {
359 TKUnit.write(message, Trace.messageType.error);
360 finalMessage += '\n' + message;
361 });
362
363 // console.log("test-result.xml:\n" + generateTestFile(allTests));
364
365 // DO NOT CHANGE THE FIRST ROW! Used as an indicator for test run pass detection.
366 TKUnit.write(`Tests EOF!`, Trace.messageType.info);
367
368 showReportPage(finalMessage);
369}
370
371function generateTestFile(allTests: TestInfo[]) {
372 let failedTestCount = 0;

Callers

nothing calls this directly

Calls 7

showReportPageFunction · 0.85
forEachMethod · 0.80
timeMethod · 0.80
enableMethod · 0.65
writeMethod · 0.65
filterMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected