0

クラス「a」(クラス「b」から継承)をjestでテストしようとしています。typescript コンパイラは、"a" のコンパイルされたファイルの javascript の先頭に

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

残念ながらthis、単体テストを実行するときはnullなので、取得しています

Cannot read property '__extends' of null

jest-cli@0.2.1 を使用してテストを実行し、typescript@1.4.1 を使用して typescript ファイルをコンパイルしています。ファイルがブラウザで実行される場合、通常thisはウィンドウを指します。

誰かがその問題を回避する方法を知っていますか?

4

2 に答える 2

1

このエラーは ではなく__extendsnull2 つのシナリオのいずれかを示しています。

基本クラスを含むファイルをインクルードするのを忘れたか、サブクラスを含むファイルの後にインクルードしました。

実際の例:

<!-- 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 に答える