0

我正在尝试用玩笑测试类“a”(继承自类“b”)。打字稿编译器在文件编译的“a”的javascript前面加上

var __extends = this.__extends || function (d, b) { ... };

不幸this的是,在运行单元测试时为空,所以我得到了

Cannot read property '__extends' of null

我正在使用 jest-cli@0.2.1 运行测试和 typescript@1.4.1 来编译我的打字稿文件。当文件在浏览器中运行时,通常this会指向窗口。

有人知道如何解决这个问题吗?

4

2 回答 2

1

这个错误不是,__extendsnull描述了两种情况之一。

要么您忘记包含包含基类的文件,要么您将它包含在包含子类的文件之后。

实际例子:

<!-- Base class first -->
<script src="b.js"></script>
<!-- Now the sub class -->
<script src="a.js"></script>
<!-- Now things that depend on the sub class -->
<script src="tests.js"></script>

如果您以任何其他顺序执行此操作,则会遇到问题。

如果您要编译到单个文件,则需要确保您的参考注释是为了确保类在组合文件中以正确的顺序出现。

于 2015-01-27T17:49:47.100 回答
0

这个错误是我在 require.js 设置不正确时看到的最常见的错误。requirejs 是否正确加载/配置?

弥敦道

于 2015-01-27T21:27:38.423 回答