[英]How do I test a void method using JUnit and Mockito?
我的void
方法更改了類中的boolean
變量值。 DI如何檢查?
我有:
但這不會改變實例變量的值。 我該怎么做呢?
ReferenceLettersBean rf = Mockito.mock(ReferenceLettersBean.class);
rf.setBoolcheck(false);
Mockito.doNothing().when(rf).checkForDuplicates(anyString(), anyString(), anyString());
rf.checkForDuplicates("abcd@emal.com","abd@gmail.com","abcd@gmail.com");
assertEquals(true,rf.getBoolcheck());
如果你想測試一個類中的字段從false變為true,你真正想要做的就是(我沒有你的實際構造函數,我只是猜測):
SomeDependency dependency = mock(SomeDependency.class);
// Make a REAL ReferenceLettersBean
ReferenceLettersBean bean = new ReferenceLettersBean(dependency);
// now make your test
rf.checkForDuplicates("abcd@emal.com","abd@gmail.com","abcd@gmail.com");
assertEquals(true,rf.getBoolcheck());
這個布爾值似乎是一個內部狀態。 除非您將其公開或通過影響另一種方法的行為來檢測,否則您無法直接使用單元測試進行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.