Jestjs 1函数文件上的基本jest测试覆盖率为0%
我有两个文件,其中有一个函数。我的测试同样简单,请参见以下内容: doc.jsJestjs 1函数文件上的基本jest测试覆盖率为0%,jestjs,Jestjs,我有两个文件,其中有一个函数。我的测试同样简单,请参见以下内容: doc.js export function createSynthId(doc) { const synthId = `${doc.attachmentId}-${doc.materialId}-${doc.fileName}-${doc.title}-${doc.materialURL}`; return synthId; } doc.test.js import { createSynthId } from './
export function createSynthId(doc) {
const synthId = `${doc.attachmentId}-${doc.materialId}-${doc.fileName}-${doc.title}-${doc.materialURL}`;
return synthId;
}
doc.test.js
import { createSynthId } from './doc';
describe('doc', () => {
it('create synthetic id', () => {
expect(createSynthId(global.doc)).toEqual('987654-123456-File Name.pptx-undefined-');
});
it('create synthetic id', () => {
expect(createSynthId({})).toEqual('undefined-undefined-undefined-undefined-undefined');
});
});
我的第二个文件实际上是相同的,只是一个更大的函数。两个测试都通过了,但报告的语句、函数和行的覆盖率为0%,而分支的覆盖率为100%。报道也显示了所有的红色线条
我们有许多类似的文件,它们都可以工作。我错过了什么
更新
我在doc.js
export const makeTestsHappy = () => {
console.log(CONFIG);
};
it('does more', () => {
makeTestsHappy();
});
添加到doc.test.js
export const makeTestsHappy = () => {
console.log(CONFIG);
};
it('does more', () => {
makeTestsHappy();
});
当我尝试测试时,我得到了错误
TypeError:(0,_doc.makeTestsHappy)不是一个函数
尝试将测试文件从doc.test.js
重命名为doc.spec.js
。您使用的是BDD语法,正确的名称应该包括spec
这里的Dummy正在模拟我正在测试的文件。我忘了jest.unmock('/doc')
当我解锁时,它立即开始工作。感谢大家的耐心:D运气不好,更改规格没有任何作用。另外,我的200多个其他测试都使用.test.js
很好。你导入了makeTestsHappy函数吗?您可以将日志放在createSynthId
中,以检查在执行测试时是否调用了它。我执行了这两项操作,但没有看到日志运行。但是,请参见下面的答案。谢谢你的努力!