gpt4 book ai didi

java - 如何模拟 shirosession?

转载 作者:行者123 更新时间:2023-11-30 04:44:19 26 4
gpt4 key购买 nike

在我的项目中,shiro session 用于对用户进行身份验证。我要为服务调用编写一个模拟测试。即
object.setCreatedBy(SecurityUtils.getSubject().getPrincipal().toString())
它在 CreatedBy 字段中设置登录用户(例如 sandy)。现在我想从 testCase 填充此值(使用 Junit 4.0 和 easy 3.0)。我正在使用以下代码

public class ExampleShiroUnitTest extends AbstractShiroTest {

@Test
public void testSimple() {
//1. Create a mock authenticated Subject instance for the test to run:
Subject subjectUnderTest = createNiceMock(Subject.class);
expect(subjectUnderTest.isAuthenticated()).andReturn(true);

//2. Bind the subject to the current thread:
setSubject(subjectUnderTest);
}

@After
public void tearDownSubject() {
//3. Unbind the subject from the current thread:
clearSubject();
}

}

给出于 http://shiro.apache.org/testing.html 。在上面的方法中,主题设置正确,并在获取时给出正确的值,但不知道如何从中获取主体。当我从主题访问它时,它返回 null 并且没有 setPrincipal() 等方法。

最佳答案

我可能误解了你的问题,但是这样的方法不能解决问题吗?

expect(subjectUnderTest.getPrincipal()).andReturn("sandy");

关于java - 如何模拟 shirosession?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com