簡體   English   中英

無法弄清楚為什么模擬方法不起作用

[英]Can't figure out why mock method doesn't work

我有一個模擬方法

def getBlacklist(newList: List[String]) ={
    when(service.getMyBlacklist).thenReturn(newList)
  }

當我在測試部分調用它時,返回值為空

val res = mocks.getBlacklist(List("abcd"))

主要功能,有人可以幫我嗎? 謝謝。

if (!services.getMyBlacklist.contains(s"$accountId:$ruleName")) {
                ***
   } else {
       ***
  }

我認為問題是嘲笑沒有正確完成。 本質上,您所做的是模擬該類的行為,這樣每當您正在測試的其他類中調用該類的方法時,就會返回一個模擬值。 假設servicesService類的一個實例,如下所示:

class Service() {
  def getBlacklist(): List[String]) = {// Some Original code here}
} 

現在,對於測試,請使用:

val service = mock[Service]
val mockList = List("abc") // change according to your use case 
when(service.getBlacklist).thenReturn(mockList)

讓我知道它是否有幫助!!

暫無
暫無

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

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