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