假设我有一个这样定义的函数:
import {RxHR} from '@akanass/rx-http-request'
(arg) => RxHR.get(`https://third.party.com/${arg}`)
.take(1)
.pluck('body')
.map(JSON.parse)
我现在想importedFunction
用 mocha 和 nock 测试这个函数(调用它),所以我写了一个测试,期望它是红色的,所以我可以红绿重构:
describe('It makes the request', () => {
before(() => {
nock(`https://third.party.com`)
.get(`/potato`)
.reply(200, 'tomato')
})
it('makes the request', () => {
return importedFunction(potato)
.subscribe((response) => assert.equal(true, false))
})
})
我的测试通过了(它不应该通过)。所以我在我的订阅中添加了一个 console.log ,结果我的订阅者功能实际上没有运行。
如何测试 RxJS 请求?为什么我的实施不起作用?