Angular 1.5、TSify、およびKarmaを使用してテストを設定しようとしています。私は非常に近いんだけど、私は、私はかなり右持っていない問題に実行しているよ:https://github.com/cmlenz/tsify-test(この例では、角は含まれません)Angular、Karma、tsify、woes
:私はここで説明する設定を以下のよ角度モックからエラーが発生する:「未定義のプロパティモックを設定できません」
これは時間的なものでもスコープのものでもなければなりません。角度変数のスコープをラップすると、モックはそれを見ることができません。いい考えはありません。ただ、それは私の角度のアプリが使用していない - これは私がモックをロードしています方法とは何かを持っている必要があります
frameworks: ['browserify', 'jasmine'],
files: [
'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./modules/**/*.spec.ts'
],
exclude: [],
preprocessors: {
'**/*.ts': 'browserify'
},
browserify: {
debug: true,
plugin: [
['tsify']
]
},
:ここ
は私のkarma.conf.jsファイルの関連部分ですテストは、それと関係がある必要があります。
ヒント
あなたの 'ファイル'配列には、**すべての**テストに必要なファイルが含まれている必要があります。 'angular.js'とあなたのアプリケーションファイルはどこにありますか? – Phil
あなたの設定から、「角モック」がNPMとともにインストールされたことは明らかです。 'angular'もNPMとともにインストールされていて、' .ts'ファイルの 'require'を使ってバンドルに含まれている場合、' angular-mocks'が 'angular'の後にロードする必要があるため、問題が起きる可能性があります。 – cartant
@Phil Browserifyは、すべてのファイル(ベンダーファイルを含む)を単一のバンドルに連結します。私が作業している例では、彼らは**/*。tsグロブをプリプロセッサセクションに登録しました。それが正しくない場合は、私はそれを変更することができます。それは何でしょうか? (私は、各ベンダーのファイルを具体的に指し示す必要はないと仮定しています。なぜなら、browserifyはそれらをバンドルに詰め込んでいるからです)。 – JMarsch