ScalaTest中的设备对象和清理

ScalaTest中的设备对象和清理,scala,bdd,scalatest,fixtures,Scala,Bdd,Scalatest,Fixtures,我正试图从这里了解Scala中用于BDD测试的fixture对象 获取fixture方法/fixture上下文对象-该链接表示,只有在不需要清理的情况下,才建议使用这两种fixture方法 获取fixture方法-extract方法重构可以帮助您在每个测试中创建需要的可变fixture对象的新实例,但不能帮助您在完成后清理它们。 fixture context对象-通过将fixture方法和字段放置到traits中,您可以通过混合traits轻松地为每个测试提供它所需要的新创建的fixture。

我正试图从这里了解Scala中用于BDD测试的fixture对象

获取fixture方法/fixture上下文对象-该链接表示,只有在不需要清理的情况下,才建议使用这两种fixture方法

获取fixture方法-extract方法重构可以帮助您在每个测试中创建需要的可变fixture对象的新实例,但不能帮助您在完成后清理它们。

fixture context对象-通过将fixture方法和字段放置到traits中,您可以通过混合traits轻松地为每个测试提供它所需要的新创建的fixture。当您在不同的测试中需要可变夹具对象的不同组合时,请使用此技术,,并且不需要在测试后进行清理


既然get fixture方法以及fixture context对象提供了测试数据的新实例,那么测试数据的清理不是自动完成的吗?清理在这方面意味着什么?对清理的引用是指垃圾收集,还是指一个测试对另一个测试产生不利影响的夹具对象中的数据?

Garbadge收集始终完成。清理可能意味着:

  • 关闭打开的文件
  • 关闭任何打开的流
  • 删除已创建的文件
  • 断开与数据库的连接
  • 基本上,任何确保某种状态恢复到以前状态的活动