Параллельное выполнение тестов

Я заметил, что SBT параллельно выполняет мои тесты specs2. Это кажется хорошим, за исключением того, что один из моих тестов включает чтение и запись из файла и, следовательно, дает непредсказуемый сбой, например см. ниже.

Есть ли лучший вариант, чем

  1. настроить все тесты для последовательного запуска,
  2. использовать отдельные имена файлов и разрывы для каждого теста?
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
  }
}
26
задан Pengin 6 November 2011 в 12:01
поделиться