Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在VisualStudio中使用Typescript单元测试来测试Typescript?_Visual Studio_Unit Testing_Typescript - Fatal编程技术网

Visual studio 如何在VisualStudio中使用Typescript单元测试来测试Typescript?

Visual studio 如何在VisualStudio中使用Typescript单元测试来测试Typescript?,visual-studio,unit-testing,typescript,Visual Studio,Unit Testing,Typescript,我试图在Typescript中编写一个单元测试来测试Typescript类,但是当测试运行时,它对该类一无所知 我正在将Typescript(1.4)与VisualStudio(2013)的节点工具一起使用,测试将在测试资源管理器中显示。运行时,它会失败,并出现“引用错误:未定义ClassC” 我正在测试的类: class ClassC { functionF() { return 42; } } 生成的Javascript: var ClassC = (fun

我试图在Typescript中编写一个单元测试来测试Typescript类,但是当测试运行时,它对该类一无所知

我正在将Typescript(1.4)与VisualStudio(2013)的节点工具一起使用,测试将在测试资源管理器中显示。运行时,它会失败,并出现“引用错误:未定义ClassC”

我正在测试的类:

class ClassC {
    functionF() {
        return 42;
    }
}
生成的Javascript:

var ClassC = (function () {
    function ClassC() {
    }
    ClassC.prototype.functionF = function () {
        return 42;
    };
    return ClassC;
})();
//# sourceMappingURL=ClassC.js.map
var assert = require('assert');
function classCTest() {
    var foo = new ClassC();
    var result = foo.functionF();
    assert.equal(result, 42);
}
exports.classCTest = classCTest;
//# sourceMappingURL=ClassC_tests.js.map
测试(从模板添加->新建项…->TypeScript UnitTest文件创建):

当查看为测试生成的Javascript时,很明显出现错误的原因。它不包含
ClassC
的必要定义。我认为包含引用路径会有帮助,但显然没有

如何让单元测试了解该类

我认为包含引用路径会有帮助,但显然没有

导出类C
,然后使用
导入
语句而不是
引用
注释。还可以使用编译器标志
--module commonjs
进行编译


更多:和

Import
ClassC
就像您做assert类一样。。。没有使用
///谢谢,这很有效,但给我带来了另一个问题。如何在不将所有内容都转换为自己的外部模块的情况下测试项目的各个部分?
var assert = require('assert');
function classCTest() {
    var foo = new ClassC();
    var result = foo.functionF();
    assert.equal(result, 42);
}
exports.classCTest = classCTest;
//# sourceMappingURL=ClassC_tests.js.map