我和Mockito有点问题。我有两个不同的课程。我的目的是测试“setChanges”函数。这是我的第一堂课:
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”函数的主类:
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()?
发布于 2019-02-05 02:18:05
谢谢,它与以下代码一起工作:
@Test公共空testsetChanges(){
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());}
发布于 2019-02-05 01:16:52
传入一个满足(或不满足) getMyA的M实例,并验证M#getC是否返回true (或false,取决于您正在测试的内容)。不需要模拟。
https://stackoverflow.com/questions/54521088
复制相似问题