繁体   English   中英

(Java)TestNG / Junit-如何在没有零参数构造函数的类中对受保护的方法进行单元测试?

[英](Java)TestNG/Junit -How to Unit test a protected method in a class with no zero-argument-constructor?

我有一堂课

Class abc extends base {
public abc(String a, String b)
{
super(a,b);
}

@Override
protected Object fun(String a)
{Object x;
doSomething;
return x;
}}

注意:此类没有零参数构造函数。

我应该为fun(..)函数添加一个单元测试。 可以使用-TestNG / JUnit / Mockito吗?

您可以使用非零参数构造函数创建一个对象,如果单元测试与该类位于同一包中,则可以对受保护的方法进行单元测试。

如果绝对有必要取消构造函数,则PowerMock可以执行此操作。

我已经找到了解决方案。 我创建了一个测试类:

public class testAbc extends abc {
public testAbc()
{super("x","y");}
@Override
public Object fun(String a){
Object x = super.fun(a);
}

@Test
public void testFun()
{
TestAbc t = new TestAbc();
t.fun("testString");
}


}

在测试类中创建一个默认的构造函数,并使Overridden函数公开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM