当使用Jasmine和角(1.4.7)与Restangular (1.4.0),httpBackend和角模拟(1.4.7)时,Chrome和PhantomJS都会在遇到以下行时崩溃:
httpBackend.whenGET('/something').respond(200);如果我完全消除了它,如下所示,我会得到以下错误:
//httpBackend.whenGET('/something').respond(200);
scope.doSomething(); // will invoke a GET to /keepAlive
httpBackend.expectGET("/something").respond(200);
httpBackend.flush();错误:意外请求:获取/something不再需要请求
它正在测试的代码是:
$scope.doSomething = function () {
Restangular.one('something').get();
};我已经试过了我能想到的一切。我的想法是,这只是卡玛/茉莉花/雷斯顿的一个bug,但我不知道如何解决这个问题。
值得注意的一件事是,httpBackend和赖斯特尔在网址问题上意见不一。将/添加到/something中。httpBackend没有,这就是他们不匹配的原因。
我尝试过的那些没用的东西:
发布于 2016-10-21 18:21:40
一段时间前解决了这个问题。发生的情况是,$httpBackend测试导致了路由的改变。那条路线的改变引起了一场事件的爆发,使我们陷入了困境。
但是,只有在用$httpBackend进行测试时才会发生这种情况。在现实世界中,这种无限循环并没有发生。
有两种解决办法:
https://stackoverflow.com/questions/38618791
复制相似问题