作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 powermckito 并尝试模拟本地对象并从中读取 API。我的实现类如下:
public class LogoutUtil {
public static void updateState() {
SrvcContext sc = new SrvcContext();
sc.setUserName("UserNAME");
}
}
我试图模拟 SrvcContext 对象并通过调用 getter 读取用户名。这是我的测试代码:
@Test
public void updateStateTest() {
SrvcContext svc = PowerMockito.mock(SrvcContext.class);
LogoutUtil.updateState();
try {
PowerMockito.whenNew(SrvcContext.class).withNoArguments().thenReturn(svc);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String userName = svc.getUserName(); //This gives null
Assert.assertEquals("UserNAME", userName);
}
任何帮助如何做到这一点。我无法更改 LogoutUtil 类。
谢谢
最佳答案
问题在于方法 LogoutUtil.updateState
是静态的,测试和模拟静态方法并不总是那么简单。但是使用 PowerMockito,您可以通过调用 mockStatic
方法来实现:看看 here :它应该可以解决您的问题
关于java - 模拟方法的本地对象并从中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62482184/
这个问题在这里已经有了答案: Is a moved-from vector always empty? (4 个答案) 关闭 4 年前。 从 std::vector move 数据后,它的容量是否必
我是一名优秀的程序员,十分优秀!