Specs2 и scalacheck - должны пройти проверку

Я получаю сообщение об ошибке not found: value pass для приведенного ниже фрагмента кода.
Я пропустил какой-либо импорт или этот код недействителен для specs2?

import org.specs2.mutable.Specification
import org.specs2.ScalaCheck
import org.scalacheck.{Prop, Gen}

class TestSpec extends Specification with ScalaCheck {
  "Calling test spec" should {
    "always pass" in {  
      val prop = Prop.forAll((a:Int) => true)
      prop must pass
    }
  }
}

person tommyk    schedule 20.06.2013    source источник


Ответы (1)


must pass — это то, что использовалось в исходном проекте specs. С spec2 вы можете просто написать:

import org.specs2.mutable.Specification
import org.specs2.ScalaCheck
import org.scalacheck.{Prop, Gen}

class TestSpec extends Specification with ScalaCheck {
  "Calling test spec" should {
    "always pass" in prop { (a:Int) => 
      true
    }
    "with a custom generator" in {
      Prop.forAll(smallInteger) { i: Int =>
        true
      }
    }
  }
}
person Eric    schedule 20.06.2013
comment
Куда мне поставить генератор Prop.forAll ? - person tommyk; 20.06.2013
comment
Тело метода in принимает любое допустимое свойство ScalaCheck, поэтому вы можете использовать стандартный синтаксис ScalaCheck для объявления свойств с помощью пользовательских генераторов. - person Eric; 20.06.2013