在scalatest类中实现抽象方法

时间:2018-02-14 03:20:43

标签: scala scalatest

我是最新的框架。我有一个特征,有两个抽象方法,我需要在测试类中实现。

trait PropsTrait {

def set()

def break()

}

最神圣的课程看起来像这样

class fooTest extends WordSpec with PropsTrait with GivenWhenThen with Matchers {


  override def set(): Unit = {
    println("Url")
  }


  "The helloWorld method" when {
    "called with a specific Name " should {
      "return the respective Value as a String" in {

       val url = "test"
       url should be("test")
       }
     }
   }


  override def break(): Unit = {
    println("cleanUp")
  }
}

我没有看到Url被打印,换句话说,我没有看到被调用的覆盖方法def set()

我错过了什么?所有要执行的都是WordSpec。 任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

我没有看到对您的功能设置或中断的调用。你可以做的是,在你的测试类中创建一个trait对象,而不是混合它。然后你可以做类似的事情:

  

val obj = new PropsTrait { override def set = {body} override def break = {body} }

然后使用此对象测试您的特征方法。

如果您想按照自己的方法进行操作,请拨打电话进行设置。希望这会有所帮助。