Java 在JUnit中测试类方法?
我目前正在编写一个需要一些JUnit测试示例的程序。我的计划的目标是按照导演的字母顺序对电影进行分类。我正在使用Java 在JUnit中测试类方法?,java,testing,intellij-idea,arraylist,junit,Java,Testing,Intellij Idea,Arraylist,Junit,我目前正在编写一个需要一些JUnit测试示例的程序。我的计划的目标是按照导演的字母顺序对电影进行分类。我正在使用比较器类,它将获取电影的数组列表,并按导演的字母顺序对它们进行排序 问题1:无法使用我的JUnit测试类中的“add”方法将电影添加到阵列列表中,知道为什么吗 问题2:如何将DirectorComparator作为JUnit测试用例进行测试 Movie.java: import java.util.*; public class Movie { String title;
比较器
类,它将获取电影
的数组列表
,并按导演的字母顺序对它们进行排序
问题1:无法使用我的JUnit
测试类中的“add”方法将电影添加到阵列列表中,知道为什么吗
问题2:如何将DirectorComparator
作为JUnit
测试用例进行测试
Movie.java:
import java.util.*;
public class Movie {
String title;
String director;
public Movie(String title, String director) {
this.title = title;
this.director = director;
}
public String getAuthor() {
return author;
}
public static Comparator<Movie> DirectorComparator = new Comparator<Movie>() {
public int compare(Movie movie1, Movie movie2) {
String director1 = movie1.getDirector();
String director2 = movie2.getDirector();
return director1.compareTo(director2);
}
};
import java.util.*;
公映{
字符串标题;
字符串控制器;
公共电影(字符串标题、字符串导演){
this.title=标题;
this.director=director;
}
公共字符串getAuthor(){
返回作者;
}
public static Comparator director Comparator=new Comparator(){
公共整数比较(电影1、电影2){
字符串director1=movie1.getDirector();
String director2=movie2.getDirector();
返回director1.compareTo(director2);
}
};
MovieTest.java
import org.junit.Test;
import java.util.*;
import static org.junit.Assert.*;
public class MovieTest {
Movie movie1("Star Wars", "Lucas, George");
Movie movie2("ET", "Spielberg, Steven");
Movie movie3("The Godfather", "Coppola, Francis Ford");
ArrayList<Movie> Movies = new ArrayList<Movie>();
Movies.add(movie1); <=== FIRST ISSUE, CANNOT USE "ADD"??
@test
<===== SECOND ISSUE, WHAT TYPE OF STRUCTURE TO USE FOR THE DIRECTORCOMPARATOR TEST CASE??
import org.junit.Test;
导入java.util.*;
导入静态org.junit.Assert.*;
公共级电影{
电影1(“星球大战”、“卢卡斯、乔治”);
电影2(“ET”,“斯皮尔伯格,史蒂文”);
电影3(“教父”、“科波拉、弗朗西斯·福特”);
ArrayList电影=新建ArrayList();
Movies.add(movie1);首先让我们稍微简化一下比较器的实现:
public class Movie {
private String title;
private String director;
public Movie(String title, String director) {
this.title = title;
this.director = director;
}
public static final Comparator<Movie> DirectorComparator =
Comparator.comparing(movie -> movie.director);
}
顺便说一句,要完成原始测试,您应该通过以下方式添加电影:
Movie movie1 = new Movie("Star Wars", "Lucas, George");
Movie movie2 = new Movie("ET", "Spielberg, Steven");
Movie movie3 = new Movie("The Godfather", "Coppola, Francis Ford");
List<Movie> movies = new ArrayList<>();
movies.add(movie1);
movies.add(movie2);
movies.add(movie3);
moviemovie1=新电影(“星球大战”、“卢卡斯、乔治”);
电影2=新电影(“ET”,“斯皮尔伯格,史蒂文”);
电影3=新电影(“教父”、“科波拉、弗朗西斯·福特”);
列表电影=新建ArrayList();
电影。添加(电影1);
添加(电影2);
添加(电影3);
但是这个集合与DirectorComparator
没有任何关系。因此,在测试DirectorComparator
这里的许多问题时不需要它。首先,DirectorComparator不是一个方法
Movie movie1 = new Movie("Star Wars", "Lucas, George");
Movie movie2 = new Movie("ET", "Spielberg, Steven");
Movie movie3 = new Movie("The Godfather", "Coppola, Francis Ford");
List<Movie> movies = new ArrayList<>();
movies.add(movie1);
movies.add(movie2);
movies.add(movie3);