如何解决Nycistanbul.js涵盖发电机Redux传奇
(注意:我知道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 举报,一经查实,本站将立刻删除。