Typescript 1.6.2,tsUnit 2.0.1,Node 5.4.1,OSX 10.11.2
我想使用tsUnit在我的Typescript module
中对单元测试函数进行单元化。 AFAIK,tsUnit examples仅显示如何使用Node测试Typescript 类。 tsUnit Node示例显示了如何导出目标类,使其在单元测试中可以require
d。这是一个简单的例子:
Foo.ts
class Foo{ ... }
export = Foo;
FooTest.ts
import Foo = require('../main/Foo');
var target = new Foo();
我成功测试了一个Typescript class
,但没有module
我尝试了两种测试模块的方法。两者都会导致Typescript转换错误。
MyMod.ts
方法1:遵循tsUnit class
示例中的模式。
module MyMod {...}
export = MyMod;
生成错误:
Error... TS2339: Property 'MyMod' does not exist on type 'typeof MyMod'.
我不知道这个错误意味着什么。我无法通过Google或Stackoverflow找到任何适用的解决方案/解释。查看生成的JavaScript代码也无法帮助我。
方法2:在声明模块时导出模块。
export module MyMod {...}
这使得单元测试更加快乐,但在我的应用程序代码中,对MyMod的引用会中断。给出这样的错误:
Error... TS2304: Cannot find name 'MyMod'.
如何使MyMod功能可用于单元测试,其方式是不会破坏对这些功能的应用程序调用?
[最有可能的是,我可以使用JavaScript测试框架进行单元测试,但如果可能的话,我更喜欢使用tsUnit。]