Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala测试中的模拟事件侦听器_Scala_Events_Observer Pattern - Fatal编程技术网

Scala测试中的模拟事件侦听器

Scala测试中的模拟事件侦听器,scala,events,observer-pattern,Scala,Events,Observer Pattern,我有一个服务,它有一个将事件推送到观察者的方法。我现在正试图提出单元测试来测试这项服务。我想模仿这种行为,等到我把前两条消息推到观察者身上。有办法做到这一点吗?目前,我可以看到我的测试通过了,但前提是我在服务方法中放置了一个断点,事件被推送到服务中 val propertyChangeListener = new PropertyChangeListener { override def propertyChange(evt: PropertyChangeEvent): Unit = {

我有一个服务,它有一个将事件推送到观察者的方法。我现在正试图提出单元测试来测试这项服务。我想模仿这种行为,等到我把前两条消息推到观察者身上。有办法做到这一点吗?目前,我可以看到我的测试通过了,但前提是我在服务方法中放置了一个断点,事件被推送到服务中

val propertyChangeListener = new PropertyChangeListener {
  override def propertyChange(evt: PropertyChangeEvent): Unit = {

    val dataItemOldValue = evt.getOldValue.asInstanceOf[DataItemValue]
    val dataItemNewValue = evt.getNewValue.asInstanceOf[DataItemValue]

    dataItemOldValue.getValue.asBoolean() shouldBe true
    dataItemNewValue.getValue.asBoolean() shouldBe true

    println(dataItemOldValue.getValue.getType)

    println(s"new Value ${evt.getNewValue}")
    println(evt.getOldValue)
  }
}