Node.js 嘲笑多个文件和静态方法
尝试使用jest编写测试用例,但是如何编写测试 下面的代码段A是一个单独的文件,三个是不同的文件 我需要像编写单元测试用例一样,将测试用例作为单独的文件编写 我陷入了编写静态方法调用和模拟多重 请参见下面我也尝试过的内容 谢谢你的帮助 常量一=需要“../一”; 常数二=要求'../二'; 常数三=要求'../三'; 甲级{ 公共静态checkTestingparam{ 开关参数{ 案例一: 返回一个; 案例二: 返回两个; 违约: 返回三个; } } 构造器参数{ this.testing=A.checkTestingparam; } } module.exports=A; const multiple=需要“../multiple”模块; const config=require'../config'; 三班{ 公共静态采样测试写入{ 返回{ b:param=>多个[config.access]参数 }; } 建造师{ this.sampleTesting=3.sampleTestingWrite; } } module.exports=3; A.test.js: 常量一=需要“../一”; 常数二=要求'../二'; 常数三=要求'../三'; 常数A=要求“…”; 开玩笑。模仿“../one”; 开玩笑,模仿“../two”; 开玩笑,模仿“../3”; 描述“测试用例”,=>{ 测试“应该启动构造函数”,=>{ const mockStaticFunction=jest.fn; mockStaticFunction.mockReturnValue'返回一个对象,该对象对多个对象执行某些操作'; const MockA=新的“一”; console.logmoka; Console.mock实现=>{}; console.logmedia; expectConsole.to被催收的时间1; }; };Node.js 嘲笑多个文件和静态方法,node.js,jestjs,Node.js,Jestjs,尝试使用jest编写测试用例,但是如何编写测试 下面的代码段A是一个单独的文件,三个是不同的文件 我需要像编写单元测试用例一样,将测试用例作为单独的文件编写 我陷入了编写静态方法调用和模拟多重 请参见下面我也尝试过的内容 谢谢你的帮助 常量一=需要“../一”; 常数二=要求'../二'; 常数三=要求'../三'; 甲级{ 公共静态checkTestingparam{ 开关参数{ 案例一: 返回一个; 案例二: 返回两个; 违约: 返回三个; } } 构造器参数{ this.testing=A
如果要测试是否正确调用了的构造函数。没有必要模拟一、二、三个模块。只有你需要模仿/间谍才是 A的静态检验方法 这是解决方案,我使用typescript
import one from './one';
import two from './two';
import three from './three';
class A {
public static checkTesting(param) {
switch (param) {
case 'one':
return one;
case 'two':
return two;
default:
return three;
}
}
private testing;
constructor(param) {
this.testing = A.checkTesting(param);
}
}
export { A };
单元测试:
import { A } from './a';
describe('A', () => {
describe('checkTesting', () => {
it('should initiate the constructor', () => {
jest.spyOn(A, 'checkTesting').mockReturnValue({ name: 'never mind' });
const param = 'one';
const a = new A(param);
expect(a).toBeInstanceOf(A);
expect(A.checkTesting).toBeCalledWith(param);
});
});
});
具有覆盖率的单元测试结果:
通过src/mock function/57624975/a.spec.ts
A.
检查测试
✓ t1 8ms
-----|-----|-----|-----|-----|----------|
文件|%Stmts |%Branch |%Funcs |%Lines |未覆盖的行|
-----|-----|-----|-----|-----|----------|
所有文件| 73.33 | 0 | 66.67 | 73.33 ||
a、 ts | 66.67 | 0 | 66.67 | 66.67 | 7,9,11,13|
1.ts | 100 | 100 | 100 | 100 ||
3.ts | 100 | 100 | 100 | 100 ||
2.ts | 100 | 100 | 100 | 100 ||
-----|-----|-----|-----|-----|----------|
测试套件:1个通过,共1个
测试:1项通过,共1项
快照:共0个
时间:1.649秒,估计3秒