[英]How to check whether a method returns a null?
Assert.assertThat(refVar.method(), is(null));
代碼 is(null) 是否正確檢查 refVar.method() 是否返回空值? 如果不是,我如何檢查某些東西是否為空? 我試過 aNull 但 IDE 說這個方法不存在,我已經嘗試導入 Matcher.* 了。 請幫忙。
空或非空
匹配器aNull<T>(Class<T>)
和aNonNull<T>(Class<T>)
指定參數為null
或not null
。
以下代碼指定必須使用兩個strings
調用方法“doSomething”,第一個必須為null
,第二個必須not null
。
oneOf (mock).doSomething(with(aNull(String.class)), aNonNull(String.class)));
檢查此jMock Matchers以獲得更多說明
看起來 jMock 不是執行此操作的正確工具。 模擬通常用於對某些類/接口進行某種虛擬實現,而不是在單元測試中具有某些類/接口的實際生產實現。 使用 jMock,您可以編寫如下代碼:
當使用參數
42
調用方法foo
,該對象/接口的模擬應返回字符串"abc"
。
但是,jMock 不會檢查現有類是否會返回您期望的值。 這就是“基本”JUnit 測試將要做的事情。 因此,您實例化要檢查的類並調用要驗證它確實返回應返回的值的方法。 所以你寫這樣的東西:
Assertions.assertNull(refVar.method());
這將驗證refVar.method()
調用的返回值是否會返回null
。 這里不需要 jMock。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.