我的单元测试未在测试资源管理器中显示

时间:2015-09-22 16:03:58

标签: javascript html unit-testing typescript

我正在尝试使用tsUnit在Typescript中设置单元测试。我创建了一个非常简单的测试,以确保我做得对。但是,每次我在测试资源管理器中单击“全部运行”时,它都不会显示任何结果!似乎Visual Studios 2013在我的解决方案中找不到任何有效的测试。以下是我在代码中的内容:

width:30%

在我的主要html文件中,我有:

/// <reference path="../../UnitTesting/UnitTesting/Scripts/tsUnit/tsUnit.ts" />

module CalculationsTests {
    export class SimpleMathTests extends tsUnit.TestClass {

        addTwoNumbersWith1And2Expect3() {
            var result = 1 + 2;

            this.areIdentical(3, result);
        }

        addTwoNumbersWith3And2Expect5() {
            var result = 3 + 6;

            this.areIdentical(4, result); // Deliberate error
        }
    }
}

window.onload = () => {
    // new instance of tsUnit - pass in modules that contain test classes
    var test = new tsUnit.Test(CalculationsTests);

    // Handle the results yourself...
    var result = test.run();

    var outcome = (result.errors.length === 0) ? 'Test Passed' : 'Test Failed';

    alert(JSON.stringify(outcome));
};

结果如下:

enter image description here

有人可以帮我找出我需要做些什么来正确设置单元测试吗?

1 个答案:

答案 0 :(得分:1)

tsUnit有一些输出选项,您有基于浏览器的输出或TAP输出(这更适合命令行使用),或者您可以根据原始数据生成自己的输出。

要与Visual Studio集成,您需要将您的tsUnit测试包装在.NET测试中。没有编写Visual Studio扩展以允许tsUnit测试发现。您可以使用项目中的单个测试类来实现此目的,例如在C#项目中,您可以编写MSTest or NUnit test that calls the TypeScript tests