给出以下规范
class Config2Spec extends org.specs2.mutable.Specification {
"reading different versions of config should work" in new aScope {
"buffer should contain a proper config" in {
buffer(0).content should have size 1
}
"buffer should have fresh config" in {
buffer should have size 2
buffer(1).content should have size 2
}
}
trait aScope extends Scope {
val buffer : mutable.Buffer[Config] = mutable.Buffer()
val cfg1 = "l1"
val cfg2 = "l1\nl2"
val file = "testCfg"
val path = Paths.get(System.getProperty("user.home"), "test")
Files.createDirectories(path)
val of = ObservableFile(path, file)
Files.write(of.asPath, cfg1.getBytes("UTF-8"))
buffer += ConfigReader.read(file, {cfg => buffer += cfg})
Files.write(of.asPath, cfg2.getBytes("UTF-8"))
Thread.sleep(1000)
}
}
这两个例子"缓冲区应该包含一个正确的配置"和"缓冲区应该有新配置"永远不会被打电话为了让这个工作有什么必要改变?
答案 0 :(得分:1)
范围只能用于“终端”示例:
class Config2Spec extends org.specs2.mutable.Specification {
"reading different versions of config should work" in {
"buffer should contain a proper config" in new aScope {
i === 0
i += 1
}
"buffer should have fresh config" in new aScope {
i === 0
i += 1
}
}
trait aScope extends Scope {
var i = 0
}
}