私は、angle2プロジェクトでジャスミンを使用しており、テスト用のカスタムマッチャーの作成には問題があります。私は比較的複雑な2つのオブジェクトを比較できるようにしたい。問題を解決すると主張しているthis articleが見つかりましたが、単にジャスミンのMatchers
オブジェクトの新しいメソッドを認識しないことを示すタイプスクリプトエラーが発生します。関連するコードは、このです:Typescriptを使用してカスタムジャスミンマッチャーを作成します。
declare module jasmine {
interface Matchers {
toBeNumeric(): void;
}
}
Another articleが同じエラーを与える同様の、しかしわずかに異なる解を与えます。
declare namespace jasmine {
interface Matchers {
toHaveText(expected: string): boolean;
}
}
私はこの
let m: jasmine.Matchers = expect(someSpy.someMethod).toHaveBeenCalled();
を試してみましたが、このエラーました:
Type 'jasmine.Matchers' is not assignable to type 'jasmine.Matchers'. Two different types with this name exist, but they are unrelated.
declare namespace jasmine
文が新しいjasmine
名前空間を作成するのではなく、既存のものを拡張していることを示しているようです。
どのように私は私の独自のmatcherを作成することができますか?
ありがとう@daf - 私はあなたのパターンを模倣し、実行時に動作しますが、タイプスクリプトは 'TS2339:Property 'toEqualWithoutSymbol'がタイプ 'Matchers'に存在しません。ファイルは確実にインクルードされます(typescriptがそれを実行するため)。 –
kross
私は余分なトリプルスラッシュの指示の束が私に誤ったエラーを与えていたことを考え出しました。私は古いプロジェクトを掃除し、それらのエラーは消え去った。このサンプルプロジェクトは素晴らしいです – kross