【发布时间】:2015-01-17 00:16:31
【问题描述】:
我在 Scala 中有以下模式:
object CurrentDriver {
private var webDriver: WebDriver = null
def invalidate = {
webDriver.quit()
webDriver = null
}
def getWebDriver = {
if (webDriver==null)
webDriver = DriverFactory.buildWebDriver
webDriver
}
}
它不起作用,它有一个 var,并且 invalidate 方法返回一个 Unit。需要单例对象,因为它由框架使用反射实例化的几个类引用,因此我无法将参数传递给它们。因此,他们需要调用 getWebDriver 来访问同一 WebDriver 实例。我需要定期(在每个由多个测试函数组成的测试场景之后)退出并重新创建一个新的 WebDriver,它由 invalidate 方法处理。
【问题讨论】:
标签: scala functional-programming