我有一个函数,它返回由我定义的类的集合。我正在为这门课程编写单元测试,但是,我无法初始化集合或创建新集合。
以下是方法:
public Collection<MyClass> getHistory(String id) {
return infoRepository.findId(id);
}
现在,以下的UT如下:
public void testGetHistory () {
String id = "Sample-Id";
MyClass myclass1 = getMyClass();
StackInfo myclass2 = getMyClass();
Collection<MyClass> myClassCollection = null;
myClassCollection.add(myclass1);
myClassCollection.add(myclass2);
}
在UT中,我有更多的东西(Mockito,Assert语句),但是当我尝试将myclass的实例添加到集合时,我收到错误。我的代码不起作用。我知道我将它初始化为NULL因为它有问题。但是,我如何制作新的系列呢?
答案 0 :(得分:1)
由于Collection是一个接口,您无法实例化它,您必须使用实现Collection接口的类进行初始化。那可能是ArrayList,LinkedList,HashSet等......
(define f append)
(thing '(a b) '(c d) '(e f))
=> '(a b c d e f)
在文档(https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html)中,您可以在&#34;所有已知的实现类和#34;中找到Collection的Java实现。部分。
答案 1 :(得分:0)
您必须将集合初始化为任何类型,以实现Collection接口:
https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html
例如,一个ArrayList:
Collection<MyClass> myClassCollection = new ArrayList<>();