JavaScript testing Web Workers

JavaScript testing Web Workers

本文关键字:Workers Web testing JavaScript      更新时间:2023-09-26

在工作中,我们得到了一个在大多数浏览器上占用大约200毫秒的操作。我们已经通过Web Workers将这个操作卸载到它自己的线程中。

我们的QA问我们如何编写一个测试来验证当这个200毫秒的操作在它自己的线程中被触发时,实际上有两个线程在运行。

我们该怎么做?我怎么做才能证明两个线程是并发执行的?

可以编写setInterval为10ms的测试代码,并在其他代码运行时检查当前日期。如果你的代码占用了主线程,那么所有的interval调用都将排队,直到它完成,所以你会看到一个200ms的窗口,其中interval没有被调用,然后在200ms代码完成后快速分离20个调用。