Question

Sometimes we need to mix in some traits in our test cases. However the following does not work:

"abc" should {
  "def" in new TraitA with TraitAB {
    // ...
  }    
}

To make it work, we do the following:

trait Fixture extends Before {
  def before = ()
}

"abc" should {
  "def" in new Fixture with TraitA with TraitAB {
    // ...
  }    
}

This feels somewhat hacky. Is there a better way to do it?

Was it helpful?

Solution

This will work if you also mix in the org.specs2.specification.Scope marker trait:

"abc" should {
  "def" in test {
    // ...
  }    
}

trait test extends TraitA with TraitAB with Scope
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top