问题描述
(注意:我知道this的帖子,但这是关于另一个测试框架的信息。)
我正在使用RITEway测试我的Redux sagas,它在引擎盖下使用了Tape。我使用NYC生成测试覆盖率报告。所有的Sagas都有100%的测试覆盖率,但NYC无法识别。
@H_404_9@import { getToken } from 'features/user-authentication/user-authentication-reducer'; import { call,select } from 'redux-saga/effects'; import { request } from './fp'; function* authenticatedRequest(requestArgs) { const token = yield select(getToken); return yield call(request,{ ...requestArgs,token }); } export { authenticatedRequest };
这是针对它的测试:
@H_404_9@import { getToken } from 'features/user-authentication/user-authentication-reducer.js'; import { call,select } from 'redux-saga/effects'; import { describe } from 'riteway'; import { authenticatedRequest } from './authenticated-request.js'; import { request } from './fp.js'; describe('authenticated request saga',async assert => { const route = 'https://some-site.com/api/lel'; const method = 'POST'; const body = { team: 'my-team' }; const gen = authenticatedRequest({ route,method,body }); assert({ given: 'saga started',should: 'fetch the token from store',actual: gen.next().value,expected: select(getToken),}); const token = 'token-abc-123'; assert({ given: 'a token',should: 'make an authenticated request',actual: gen.next(token).value,expected: call(request,{ route,body,token }),}); assert({ given: 'nothing',should: 'be done',actual: gen.next().done,expected: true,}); });
如您所见,我们已经完全完成了所有生成器的案例,但是NYC出于某种原因没有做到这一点。
它声称只覆盖了60%的代码。如何通过点击扫描生成器/传奇测试来获得NYC?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)