我该如何开始tick工作,或者至少如何让测试提前 10 秒以正确调用submit我的组件?
注意:我不想这样做,await new Promise(r => setTimeout(r, 10000))因为这会让我的测试运行很长,而测试应该很短
我只想在组件创建 10 秒后submit调用cb
我的组件中有一个计时器,它在 10 秒后完成。该定时器将主题由假变为真,用于判断组件中提交数据是否有效。
在测试中,tick计时器似乎根本没有提前,实际上运行了整整 10 秒。我试图通过在创建组件时添加一个来解决这个问题,fakeAsync但beforeEach没有成功。
fakeAsync,以及测试fakeAsync仅在测试中使用setTimeout(() => this.obs.next(true), 10_000)而不是计时器empty().pipe(delay(10000)).subscribe(() => this.obs.next(true));而不是计时器timer代替ngOnInit构造函数timerin 构造函数而不是ngOnInit如果你调整这段代码
timer(10_000).subscribe(() => this.testThis$.next(true));
Run Code Online (Sandbox Code Playgroud)
改为这样
timer(10_000).subscribe(() => {
debugger;
this.testThis$.next(true)
});
Run Code Online (Sandbox Code Playgroud)
您会发现,每次运行测试时,开发工具中的 Javascript 调试器都会在组件创建后 10 …
glPolygonMode的文档仅将枚举指定GL_FRONT_AND_BACK为可接受的第一个参数(face).还有其他可接受的枚举,例如只有正面还是只有背面?
glPolygonMode(GLenum face, GLenum mode);
Run Code Online (Sandbox Code Playgroud)
我知道,mode只有支持GL_POINT,GL_LINE以及GL_FILL,但它只是似乎非常奇怪的是,只有一个文件指定face的GL_FRONT_AND_BACK,但它是用它作为参数的要求.