簡體   English   中英

Scala模擬對象創建

[英]Scala Mock Object Creation

有沒有一種方法可以創建給定類型的對象,該對象將覆蓋方法的子集並為其余方法拋出運行時異常?

它甚至不需要訪問超類的任何實現。 它只需要在編譯時和運行時具有相同的類型。

這幾乎就是ScalaMock模擬對象開箱即用的功能-您已將期望值設置為的方法可以執行期望值告訴他們執行的任何操作,所有其他方法都拋出ExpectationException。

您的用例是什么?

正如保羅所說,ScalaMock是一個不錯的選擇。

但我想指出的是,您只是在描述基本繼承:

class OriginalClass {
  def methodToRun() = { println("called OriginalClass.methodToRun") }
  def methodNotToRun() = { println("called OriginalClass.methodNotToRun") }
}

class MockOriginalClass extends OriginalClass {
  override def methodToRun() = super.methodToRun()
  override def methodNotToRun() = throw new RuntimeException("you weren't supposed to run this!")
}

然后,在您的代碼中,當您期望有一個OriginalClass對象時,您可以傳遞MockOriginalClass ,當您調用錯誤的東西時它將拋出錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM