说我有一个如此定义的函数:
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请求?为什么我的实施不起作用?