I have had success with a simpler testing approach that mocks the Shiro Subject. Here is my base test class:
import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.support.SubjectThreadState; import org.apache.shiro.util.ThreadState; import org.junit.After; import org.junit.Before; import org.mockito.Mockito; /** * Provides support for mocking Shiro's Subject to allow unit testing of * classes that interact with Shiro's {...@code SecurityUtils.getSubject()}. */ public abstract class BaseUnitTest { private ThreadState _threadState; protected Subject _mockSubject; @Before public void attachSubject() { _mockSubject = Mockito.mock(Subject.class); _threadState = new SubjectThreadState(_mockSubject); _threadState.bind(); } @After public void detachSubject() { _threadState.clear(); } } Then my actual tests can do things like this: // Simulate authenticated subject Mockito.when(_mockSubject.isAuthenticated()).thenReturn(true); -- View this message in context: http://shiro-user.582556.n2.nabble.com/Testing-with-Shiro-tp5765075p5767543.html Sent from the Shiro User mailing list archive at Nabble.com.