在开发Feed(RSS)应用程序时,我正在玩AngularJS单元测试.Feed可以获取远程rss数据解析它并保存已解析的项目.为了测试rss提取我使用$ httpBackend mock:
beforeEach(inject(function (_$httpBackend_, _feedMock_, _mockConfig_) {
_$httpBackend_.when('GET', _mockConfig_.FEED_URL).respond(_feedMock_);
}));
Run Code Online (Sandbox Code Playgroud)
然后在下面
$httpBackend.expectGET(mockConfig.FEED_URL);
feed.fetch();
$httpBackend.flush();
Run Code Online (Sandbox Code Playgroud)
它工作正常.
但是我需要让Feed通过获取更新的rss数据并附加新项目来实现它的状态.因此,Feed提出相同的请求,但获得了新的更新数据.我正在尝试通过以下方式重新创建服务器定义:
$httpBackend.when('GET', _mockConfig_.FEED_URL).respond(feedMockUpdated);
Run Code Online (Sandbox Code Playgroud)
然后使用expect和flush进行相同的操作,但$ httpBackend响应旧数据(feedMock),而不是new(feedMockUpdated).如何使用$ httpBackend响应同一请求中的不同数据?
angularjs ×1