问题描述
(注意:我知道this的帖子,但这是关于另一个测试框架的信息。)
我正在使用RITEway测试我的Redux sagas,它在引擎盖下使用了Tape。我使用NYC生成测试覆盖率报告。所有的Sagas都有100%的测试覆盖率,但NYC无法识别。
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 };
这是针对它的测试:
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 (将#修改为@)