私はKarmaを使用してChromeブラウザでテストを実行しようとしています。 PhantomJSで問題なく実行していましたが、ChromeHeadlessに切り替えることを望んでいました。私は、テストがChromeまたはChromeHeadlessを通過していないことを発見しましたが、まだPhantomJSを使用しています。ChromeでKarma Chromeテストに失敗しましたが、PhantomJSで渡されました
私はconfigに含まれているファイルと関係があると信じています。私はPhantomJSが期待通りにそれらをロードしていると思うが、何らかの理由で、Chromeはそうではない。私はここで他の質問を見てきましたが、解決策は特に関連性がなく、残念ながらうまくいきませんでした。
これは、Chromeを使用して、私のテストを実行しようとしたとき、私は取得エラーです:
Uncaught TypeError: Cannot read property 'maps' of undefined
karma.conf.js
内のファイルで宣言された取得する必要がありますwindow.google
由来google.maps
、を参照しています:
module.exports = function(config) {
config.set({
// autoWatch: true,
browserConsoleLogOptions: {
terminal: true,
level: ''
},
// Prevent timeout issues when running the tests
browserDisconnectTimeout: 10000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 60000,
browsers: ['Chrome'],
captureTimeout: 2000,
// debug: true,
files: [
'http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js',
'http://maps.googleapis.com/maps/api/js?client=client_id',
{ pattern: 'test-context.js', watched: false }
],
frameworks: ['jasmine'],
// logLevel: config.LOG_DEBUG,
port: 9876,
preprocessors: {
'test-context.js': ['webpack'],
},
reporters: ['progress', 'spec'],
singleRun: true,
webpack: require('./webpack/config.test'),
webpackServer: {
noInfo: true
},
});
};
誰もが私が間違ってやってもよいし、なぜテストのためのChromeブラウザを実行すると、外部ファイルに引っ張っていないようです何を知っていますか?
私は、Googleマップオブジェクト全体を模倣する可能性がありますが、指定されたファイルに含まれているはずであるため、過度で不要です。
誰かがアイデアを持っている場合は、私はあなたの助けに感謝します。ありがとうございました!