首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何测试修改模拟成员的函数?

如何测试修改模拟成员的函数?
EN

Stack Overflow用户
提问于 2019-02-05 01:11:41
回答 2查看 88关注 0票数 0

我和Mockito有点问题。我有两个不同的课程。我的目的是测试“setChanges”函数。这是我的第一堂课:

代码语言:javascript
复制
class M {
private String a;
private String b;
private boolean c = false;

public String getA() {
    return a;
} 
public void setA( String _a ) {
     a = _a;
} 
public String getC() {
    return c;
} 
public void setC( final boolean imp ) {
     c = imp;
} 

}

这是具有“setChanges”函数的主类:

代码语言:javascript
复制
class MyMainClass {
private String getMyA() {
    return "Data";
}

private static void setChanges(final M m) {
    if (getMyA().equals(m.getA())){
        m.setC(true);
    }
}

}

如何测试"setChanges"?这意味着如果getA()返回"Data",我如何检查应该为"true“的getC()?

EN

回答 2

Stack Overflow用户

发布于 2019-02-05 02:18:05

谢谢,它与以下代码一起工作:

代码语言:javascript
复制
@Test

公共空testsetChanges(){

代码语言:javascript
复制
MyMainClass  mmc  = new MyMainClass ();
M m = new M();
m.setA("Data");

Method method = MyMainClass.class.getDeclaredMethod(
            "setChanges",
            M.class
    );
    method.setAccessible(true);
    method.invoke(method, m );

assertTrue(m.getC());

}

票数 0
EN

Stack Overflow用户

发布于 2019-02-05 01:16:52

传入一个满足(或不满足) getMyAM实例,并验证M#getC是否返回true (或false,取决于您正在测试的内容)。不需要模拟。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54521088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档