如何为接口的实现赋值,但是接口没有setter方法?

时间:2012-07-05 03:13:57

标签: oop interface junit setter

我有一个接口:Show,我有实现类调用ShowImpl,我也有一个实现类调用ManageShowImpl。我已经完成了ManageShowImpl中的所有方法。现在我正在进行Junit测试。我在ManageShowImpl中定义的方法,例如:addShows(Show ... shows),现在我想为show数组赋值:Show [],但在界面:Show中,我没有setter方法(一些专家告诉我如何将值添加到Show []。

2 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,我认为您只需在构造函数中设置值:

public class ShowImpl implements Show{

    private Show[] shows;

    public ShowImpl(Show... shows){
        this.shows = shows;
    }

    @Override
    public void someInterfaceMethod(){
        // ...
    }
}

答案 1 :(得分:0)

(我不是 junit专家,甚至是初学者,但也许我可以鼓励一些人回答。我已经进行了大量的测试。)

给定一个带有构造函数的类,您始终可以创建一个实例,用您想要的任何数据填充它,并以您想要的任何方式进行测试。接口更加有限。除了测试,这是一件非常好的事情。它限制了如果他们掌握了接口实现,他们可以做的损害;它安全地封装了数据。但是你不能孤立地测试接口。您需要首先创建实现类的实例。那时你应该填写你的数组。 然后将其作为接口实例传递给测试方法以测试接口。