diff --git a/apps/tests/TKUnit.ts b/apps/tests/TKUnit.ts
index 04e719afa..af2e7752e 100644
--- a/apps/tests/TKUnit.ts
+++ b/apps/tests/TKUnit.ts
@@ -27,6 +27,7 @@ export interface TestInfoEntry {
isPassed: boolean;
errorMessage: string;
testTimeout: number;
+ duration: number;
}
export function time(): number {
@@ -56,6 +57,7 @@ var runTest = function (testInfo: TestInfoEntry) {
if (testInfo.isTest) {
duration = time() - start;
+ testInfo.duration = duration;
write("--- [" + testInfo.testName + "] OK, duration: " + duration, trace.messageType.info);
testInfo.isPassed = true;
}
@@ -63,6 +65,7 @@ var runTest = function (testInfo: TestInfoEntry) {
catch (e) {
if (testInfo.isTest) {
duration = time() - start;
+ testInfo.duration = duration;
write("--- [" + testInfo.testName + "] FAILED: " + e.message + ", duration: " + duration, trace.messageType.error);
testInfo.isPassed = false;
testInfo.errorMessage = e.message;
@@ -109,6 +112,7 @@ function runAsync(testInfo: TestInfoEntry, recursiveIndex: number, testTimeout?:
let duration;
var checkFinished = function () {
duration = time() - testStartTime;
+ testInfo.duration = duration;
if (isDone) {
write("--- [" + testInfo.testName + "] OK, duration: " + duration, trace.messageType.info);
//write("--- [" + testInfo.testName + "] took: " + (new Date().getTime() - testStartTime), trace.messageType.info);
diff --git a/apps/tests/testRunner.ts b/apps/tests/testRunner.ts
index 34d2c8205..0905f31d6 100644
--- a/apps/tests/testRunner.ts
+++ b/apps/tests/testRunner.ts
@@ -127,6 +127,7 @@ function printRunTestStats() {
for (j = 0; j < allTests.length; j++) {
let testName = allTests[j].testName;
+ let duration = allTests[j].duration;
if (!allTests[j].isPassed) {
failedTestCount++;
@@ -135,10 +136,10 @@ function printRunTestStats() {
failedTestInfo.push(allTests[j].testName + " FAILED: " + allTests[j].errorMessage);
- testFileContent.push(`${errorMessage}`);
+ testFileContent.push(`${errorMessage}`);
} else {
- testFileContent.push(``);
+ testFileContent.push(``);
}
}
@@ -151,7 +152,7 @@ function printRunTestStats() {
finalMessage += "\n" + failureMessage;
}
- testFileContent.push("");
testFileContent.push("");
let testFile = fs.File.fromPath(fs.path.join(fs.knownFolders.documents().path, "test-results.xml"));
@@ -263,8 +264,9 @@ class TestInfo implements TKUnit.TestInfoEntry {
isPassed: boolean;
errorMessage: string;
testTimeout: number;
+ duration: number;
- constructor(testFunc, testInstance?: any, isTest?, testName?, isPassed?, errorMessage?, testTimeout?) {
+ constructor(testFunc, testInstance?: any, isTest?, testName?, isPassed?, errorMessage?, testTimeout?, duration?) {
this.testFunc = testFunc;
this.instance = testInstance || null;
this.isTest = isTest || false;
@@ -272,5 +274,6 @@ class TestInfo implements TKUnit.TestInfoEntry {
this.isPassed = isPassed || false;
this.errorMessage = errorMessage || "";
this.testTimeout = testTimeout;
+ this.duration = duration;
}
}