gpt4 book ai didi

scala - 并行执行测试

转载 作者:行者123 更新时间:2023-12-03 10:24:13 24 4
gpt4 key购买 nike

我注意到 SBT 正在并行运行我的 specs2 测试。这看起来不错,除了我的一个测试涉及从文件读取和写入,因此无法预测地失败,例如见下文。

有没有比这更好的选择

  • 将所有测试设置为串行运行,
  • 为每个测试使用单独的文件名和拆卸?

  • class WriteAndReadSpec extends Specification{
    val file = new File("testFiles/tmp.txt")

    "WriteAndRead" should {
    "work once" in {
    new FileWriter(file, false).append("Foo").close
    Source.fromFile(file).getLines().toList(0) must_== "Foo"
    }
    "work twice" in {
    new FileWriter(file, false).append("Bar").close
    Source.fromFile(file).getLines().toList(0) must_== "Bar"
    }
    }

    trait TearDown extends After {
    def after = if(file.exists) file.delete
    }
    }

    最佳答案

    除了上面写的关于 sbt 的内容之外,您必须知道 specs2 默认同时运行您的规范的所有示例。

    您仍然可以声明,对于给定的规范,示例必须按顺序执行。为此,您只需添加 sequential 到规范的开头:

    class WriteAndReadSpec extends Specification{
    val file = new File("testFiles/tmp.txt")

    sequential

    "WriteAndRead" should {
    ...
    }
    }

    关于scala - 并行执行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8026866/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com