[英]parameterized test constructor of junit java error message: Test class should have exactly one public zero-argument constructor
[英](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.