私はlookingaroundです。この質問はrecurring thingのようです。しかし、私が見つけた解決策のどれも私にとってはうまくいかないようです。ジャスミンカスタムマッチャーtypescript定義を追加するにはどうすればよいですか?
次の使用:
{
"typescript": "2.3.2",
"jasmine-core": "2.6.1",
"@types/jasmine": "2.5.47"
}
私は活字体は私のカスタム照合定義を含む名前空間宣言をマージすることができません。
これを追加する:
declare namespace jasmine {
interface Matchers<T> {
toBeAnyOf(expected: jasmine.Expected<T>, expectationFailOutput?: any): boolean;
}
}
は、以前jasmine
に宣言されているすべての他のタイプを非表示にします。コンパイラは次のようなエラーを出力します:
[ts] Namespace 'jasmine' has no exported member 'CustomMatcherFactories'
[ts] Namespace 'jasmine' has no exported member 'CustomMatcher'.
カスタムマッチャーを追加してTypescriptでうまく動作させる方法はありますか?
tslint:recommended
ルールセットを使用している場合は、tslint
に関する追加の問題があります。これらのルールはnamespace
またはmodule
キーワードの使用を許可しないため、これを試してみるためにlinterを無効にして(または"no-namespace"
のルールを変更して)いなければなりませんでした。これが「推奨されない」場合は、定義を拡張する方法を理解できません。
spec.tsファイル – DJClayworth