Angular.js $httpBackend
을 사용하여 $http
전화를 감싸는 일부 서비스 (ngMock에 있음, 이 아닌 ngMockE2E)를 테스트하고 있습니다.
expect
및 when
과 같은 것은 URL 쿼리 매개 변수의 순서에 민감한 것으로 보입니다. 예 : 내가 $httpBackend.when('POST','/apiCall?X=1&Y=2').respond(/* ... */)
또는 $httpBackend.expectPOST('/apiCall?X=1&Y=2')
한다면 내가 대신 X = 1 & Y = 2의 URL에 Y = 2 & X = 1이있는 경우, 나는 URL 불일치를 얻을.
테스트를 거치지 않고 URL 쿼리 문자열 매개 변수의 순서를 자유롭게 변경할 수 있도록 테스트를 작성하고 싶습니다. $ httpBackend 문서에서이 문제를 해결할 수있는 방법을 찾지 못했습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?
$ HTTP 호출을 할 때 매개 변수를 사용하는 것이 유망한 것처럼 보입니다. 그래서 나는 여전히 테스트 측에서 우아한 해결책을 원합니다. (정규 표현식을 사용하면 과장된 것처럼 보이지만 심하게 영향을 미치지는 않습니다. 테스트의 가독성 ...) –
그래, 나는 Regex의 읽기 또는 [변경] (https://imgflip.com/i/7i79q) – calebboyd
재미 있지 않습니다 여기에 관련 키 코드 : https ://github.com/angular/angular.js/blob/86c6be82e5508762912eb08e228410f5c1ed4d91/src/ng/http.js#L1055 –