jga*_*on1 8 testing scala scalatest
我最近与同事就ScalaTest中的ScalaFutures与测试中的Await.result的使用或whenReady或.futureValue进行了讨论.除了可读性,使用whenReady时配置(超时)和结果范围的一致性,使用ScalaFutures方法比Await.result还有其他明显的优势吗?
我注意到ScalaFutures使用"轮询"技术而不是像Await一样阻止,但有人可以详细说明优势吗?
小智 2
当您使用时,Await.result您会阻塞调用线程。如果您以单线程方式运行测试(例如使用 SBT 设置,如parallelExecution in Test := false),则此效果将最为明显。
ScalaFutures 进行的轮询是通过调度程序完成的(据我所知);因此,它不会阻塞任何线程。因此,您可能会同时运行许多测试,这些测试远远超出测试实际运行的任何 ExecutionContext 上可用的线程数。
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |