2016-10-15 9 views
2

私はtypescriptファイルで定義されたクラス(DateTimeConverter.ts)がある場合:インポート活字体クラス(<type>はコンストラクタエラーではありません)

export class DateTimeConverter{ 
    constructor(){ 
    } 
    //Other methods 
} 

をそして私は、いくつかのユニットを行うには、このクラスをインポートしたいですジャスミンでのテストは、私の仕様でので、私はそれをインポートします。

var DateTimeConverter = require('../path/to/DateTimeConverter'); 

なぜ私は私のユニットテストでは、そのクラスを使用することはできません。

var timeConverter = new DateTimeConverter(); 

私は私のテストを実行すると、ジャスミンはerrorrを与える:私はその機能をテストすることができるように

TypeError: DateTimeConverter is not a constructor

どのように私は私のテストの中で、このクラスを引くことができますか?

答えて

2

だから私はこれを理解し、他の誰かがこれについていた場合に回答を投稿すると思った。 ライブラリをインポートすると、(おそらく明らかに)クラスへの直接アクセスを持っていけないが、それまでのハンドル:

var DateTimeConverterLib = require('../path/to/DateTimeConverter'); 

あなたはそれをインスタンス化することができます

var timeConverter = new DateTimeConverterLib.DateTimeConverter(); 

そして、いずれかを呼び出します通常どおり、その上に機能:

var result = timeConverter.MyAwesomeTimeFunction(); 

魔法のように動作し、すべての私のテストは今:)

を渡しています

誰かを助ける希望

+0

モジュールをインポートするためにはrequireを使用する必要がありますか?これは '.path/to/my/class.ts"の 'import {Class} 'で行うことができますか? – CTodea

関連する問題