Unit testing 模具1.0.2中是否破坏了玩笑计时器模拟?
我使用的是StencilJSV1.0.2,它开玩笑地运行单元测试。我有以下代码,但它的行为似乎不符合预期。我是否正确使用了APIUnit testing 模具1.0.2中是否破坏了玩笑计时器模拟?,unit-testing,jestjs,stenciljs,Unit Testing,Jestjs,Stenciljs,我使用的是StencilJSV1.0.2,它开玩笑地运行单元测试。我有以下代码,但它的行为似乎不符合预期。我是否正确使用了API 功能正常(延迟:数字){ 设置超时(()=>{ 返回3; },延误); } 测试(‘计时器’,()=>{ 开玩笑。使用faketimers(); 常数结果=正常(1000); 开玩笑提前计时(999); 期望(结果); jest.runAllTimers(); 期望(结果)toBe(3); } ); 测试应该通过,但在最后一条expect语句中失败这一行: cons
功能正常(延迟:数字){
设置超时(()=>{
返回3;
},延误);
}
测试(‘计时器’,()=>{
开玩笑。使用faketimers();
常数结果=正常(1000);
开玩笑提前计时(999);
期望(结果);
jest.runAllTimers();
期望(结果)toBe(3);
} );
测试应该通过,但在最后一条expect语句中失败这一行:
const result=ok(1000);
…将result
设置为ok
的返回值
…但是ok
不会返回任何内容,因此结果
总是未定义
因此,第一个expect
通过:
expect(result).toBeUndefined();//成功!
…但是第二个expect
失败,因为结果将始终是未定义的:
expect(result).toBe(3)//