我正在用 Java 做我的第一次測驗,我有一個 Shiro 安全......我按照教程(https://shiro.apache.org/testing.html)但是說:
(此示例使用 EasyMock,但 Mockito 也同樣有效):
Subject subjectUnderTest = createNiceMock(Subject.class);
expect(subjectUnderTest.isAuthenticated()).andReturn(true);
因為我使用 Mockito 我實作了
Subject mockSubject = mock(Subject.class);
expect(subjectUnderTest.isAuthenticated()).andReturn(true);
但是當我這樣做時有這個錯誤
未定義 AdminControllerTest 型別的方法 expect(boolean)
不要給我匯入它的可能性。我不知道 expect 是否是 EasyMock 的特定特性,如果是,我必須在 Mockito 中使用什么。
我在這里搜索并看到更多人在做這件事,并且總是建議使用此期望
如何模擬 shirosession?
uj5u.com熱心網友回復:
如果我們看一下這個代碼示例......
Subject mockSubject = mock(Subject.class);
expect(subjectUnderTest.isAuthenticated()).andReturn(true);
我們可以看到...
- 您正在使用
mockito語法進行模擬。 - 您正在使用
easyMock語法來配置模擬。它甚至不在依賴串列中,因此找不到此方法。
解決方案是使用 mockito 語法來配置模擬。
Subject mockSubject = mock(Subject.class);
when(mockSubject.isAuthenticated()).thenReturn(true);
這將使一切按預期作業,并且您Subject將true在isAuthenticated()呼叫該方法時回傳。
如果您想升級您的模擬游戲,請嘗試使用此資源,該資源隨附了可用的 github 代碼示例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/352829.html
