如何为排序函数(使用Comparator)编写单元测试,当排序的对象是模拟对象时?由比较器(EasyMock)嘲笑排序的列表
只是一个小例子:我有一个电影的Libary。三类:库,电影,myCmpMovies(实现比较器)。 我正在测试将它隔离的类库。对于这个目标,我正在嘲笑类Movie,以测试Library中的所有方法。
使用EasyMock。
我排序的电影列表中这样说:
class Library{
ArrayList<Movie> movies;
public List<Movie> getSortedMoviesByDatesAndNames() {
List<Movie> movies = this.getMovies();
Comparator myCmpMovies = new myCmpMovies();
Collections.sort(movies, myCmpMovies);
return movies;
}
}
现在,我正在测试这种方法用一个单元测试。模拟对象是电影。我只是想尝试像这样:
@Test
public List<Movie> TestGetSortedMoviesByDatesAndNames() {
movie1= createMock(Movie.class);
movie2= createMock(Movie.class);
movie3= createMock(Movie.class);
....
}
我知道这个主题有几个问题,但我认为这些不是同一个问题。
在此先感谢。
感谢您的快速回复!我忘了说我正在测试课堂图书馆将它隔离起来。对于这个目标,我正在嘲笑类Movie,以测试Library中的所有方法。在这种情况下,现在出现了测试排序方法的问题。所以,也许我将不得不尝试你最后的提示,并介绍和接口。 – mikiasda
我提出了一些更新,也许他们对你有帮助。如果是这样,请考虑在某个时候接受;;我不认为其他答案会以你的方式出现。 – GhostCat
非常感谢!这些关键技巧帮助了我! – mikiasda