java – 在同一对象中测试方法时如何模拟对象中的方法
发布时间:2020-05-28 08:20:41 所属栏目:Java 来源:互联网
导读:我有这样的 java代码: public class A { public int get() { // many codes String s = new String(); //... int n = 5; return isEmpty(s) ? n : -1; } public boole
|
我有这样的 java代码: public class A {
public int get() {
// many codes
String s = new String();
//...
int n = 5;
return isEmpty(s) ? n : -1;
}
public boolean isEmpty(String s) {
return s.isEmpty();
}
}
现在我想只测试get(),我不想同样测试isEmpty(),所以我想模拟isEmpty(),只是测试一个方法,如果它调用该类的另一个方法,可以easymock mock方法? 解决方法一个可行的方法是不要模拟A并做类似的事情public class TestableA extends A
{
@Override
public boolean isEmpty( String s )
{
// "mock" impl goes here,eg.:
return s;
}
}
而是用TestableA来编写单元测试.您甚至可以在@Before方法中创建它: public class UnitTest
{
private A a; // note: A,not TestableA!
@Before
public void setUp()
{
this.a = new A()
{
@Override
public boolean isEmpty( String s )
...
}
}
@Test
...
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
