Tôi có nhiều thử nghiệm trong Jasmine và Karma dựa trên séc httpmàu HTTP giả mạo HTTP. Khi tôi nâng cấp Angular ngày hôm nay, họ dừng lại để làm việc.Thử nghiệm liên quan đến httpBackend Jasmine bị hỏng khi nâng cấp Angular 2.21 đến 2.25
Giả sử tôi có một cái gì đó như thế này bên trong kiểm tra Jasmine của tôi:
// Arrange
httpBackend.expect('POST', 'https://localhost:44300/api/projects/1/samples').respond(fakedDto);
// Act
scope.updateSamples();
httpBackend.flush();
và trên dòng cuối cùng, đó là hoàn toàn ok trước đây, tôi nhận được:
TypeError: $browser.$$checkUrlChange is not a function in C:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js (line 12502)
$RootScopeProvider/this.$get</[email protected]:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js:12502:9
createHttpBackendMock/[email protected]:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular-mocks/angular-mocks.js:1481:5
@C:/SVN/samplemgmt/src/ClientApp/tests/integration/sample/samplecreationController_integration.test.js:341:9
Hơn nữa, tôi có cấu hình bình thường để kết thúc kiểm tra:
afterEach(function() {
httpBackend.verifyNoOutstandingExpectation();
httpBackend.verifyNoOutstandingRequest();
});
bây giờ bắt đầu phát sinh lỗi sau:
Error: [$rootScope:inprog] $digest already in progress
http://errors.angularjs.org/1.2.25/$rootScope/inprog?p0=%24digest in C:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js (line 78)
minErr/<@C:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js:78:5
[email protected]:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js:13009:9
$RootScopeProvider/this.$get</[email protected]:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular/angular.js:12500:9
createHttpBackendMock/[email protected]:/SVN/samplemgmt/src/ClientApp/client/bower_components/angular-mocks/angular-mocks.js:1514:5
@C:/SVN/samplemgmt/src/ClientApp/tests/integration/sample/samplecreationController_integration.test.js:137:9
Tôi đánh giá cao một số đề xuất cách làm cho mọi thứ hoạt động trở lại. Có bất kỳ thay đổi nào được thực hiện cho thử nghiệm httpBackend gần đây không?
Tôi có một vấn đề tương tự với httpBackend.flush() và phạm vi $ $ apply(). Tôi không nhận được '$ digest đã được tiến hành', nhưng tôi nhận được 'TypeError: undefined không phải là một chức năng' khi tôi gọi một trong các phương pháp góc trên bên trong các thử nghiệm hoa nhài trong 1.2.25 nhưng không phải trong Angular 1.2.22. –
Bạn có thể đăng thêm một chút về bài kiểm tra của mình không? Lỗi "$ digest already in progress" đang xảy ra nếu bạn gọi $ scope. $ Áp dụng sai địa điểm. Đầu tiên, có vẻ như bạn thử nghiệm là ok, có thể là một sai lầm trong mã thử nghiệm của bạn? – Nico
Vấn đề tôi nghĩ là phiên bản của các mocks góc phải giống với góc cạnh, do đó bạn đã nâng cấp các mock góc? – laurent