ScalaTest:在测试之间共享资源

ScalaTest:在测试之间共享资源,scala,scalatest,scala-cats,Scala,Scalatest,Scala Cats,对于集成测试,我需要在每次测试运行时创建和销毁资源(例如启动和停止要测试的docker映像) 创建一个资源需要时间,所以我想为每个需要它的测试做一次,并在不再需要时销毁它 目前,我已经通过惰性地创建资源并添加一个关闭挂钩来实现这一点: 对象MyResource{ lazy val singleton={ val docker=Await.result(startImage(),1分钟) sys.addShutdownHook(wait.result(docker.stop(),1分钟)) 码头工

对于集成测试,我需要在每次测试运行时创建和销毁资源(例如启动和停止要测试的docker映像)

创建一个资源需要时间,所以我想为每个需要它的测试做一次,并在不再需要时销毁它

目前,我已经通过惰性地创建资源并添加一个关闭挂钩来实现这一点:

对象MyResource{
lazy val singleton={
val docker=Await.result(startImage(),1分钟)
sys.addShutdownHook(wait.result(docker.stop(),1分钟))
码头工人
}
}
我正在寻找一种更好的方法来处理这个问题,就像fixture一样,但我不确定我是否可以用它来启动和停止docker图像


我的测试分为多个类,所以我不能使用before和afterall(我希望避免使用Await.result)。

为什么不使用呢?嗨@LuisMiguelMejíaSuárez,我不知道这个项目,我会看看thx!另外,我将更新我的描述,因为不清楚docker image是我需要管理的资源的一个例子。为什么不使用?嗨@LuisMiguelMejíaSuárez,我不知道这个项目,我会看看thx!此外,我将更新我的描述,因为不清楚docker image是我需要管理的资源的一个示例。