実行するたびに「 UnknownError: unknown error: Maximum call stack size exceeded.」をスローするテストがあります。
このテストは、私のサービスの 1 つで、Google ドライブに書き込むメソッドを呼び出しています。
失敗しているテストは、ドライブ アイテムを更新することを意味する「ui」で doDrive 関数を呼び出しています。「ui」->「ni」という 1 文字を変更すると、新しいドライブ アイテムが作成され、テストは機能します。テスト対象のコードは、通常の使用では問題なく動作します。
it('should update a file', function() {
browser.executeAsyncScript(function(callback) {
// get service
var service=angular.element(document.getElementById('ngapp')).injector().get('DriveQ')
// generate a title
var title = 'title of file';
// call doDrive to create a new file
service.doDrive({t:'ui',id:'0B6B-RNrxsCu2Sll7JZTYy2aDA', item:{title:title}})
.then(function (resp){
resp.originalTitle=title;
callback(resp)
});
}).then(function(resp) {
expect(resp.title).toEqual(resp.originalTitle);
});
});
私はchrome webdriverを直接使用していますが、browser.ignoreSynchronization = true;