我该如何开始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
构造函数timer
in 构造函数而不是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
,但它是用它作为参数的要求.