我是JUnit新手,在写JUnit时遇到了困难。
我有一个接口和一个类
接口
public interface Student{
List<String> getStudentList();
void setStudentList(List<String> studentList);
void createStudentList();
}类
public class StudentServiceImpl implements Student{
private List<String> studentList
public List<String> getStudentList() {
return studentList;
}
public void setStudentList(final List<String> studentList){
this.studentList = studentList;
}
public void createStudentList(){
if (studentList == null) {
studentList = new ArrayList<String>();
studentList.add("John");
studentList.add("Bill");
studentList.add("Ricky");
studentList.add("Jack");
}
setStudentList(studentList);
}
}什么是最好的写Junit以上的课程。在编写JUnit案例时应该记住什么。有人能帮我吗?
发布于 2012-01-10 09:15:02
以下是IMHO编写良好的测试用例(用记事本编写,如果不编译请更正):
import static org.fest.assertions.Assertions.assertThat;
public class StudentTest {
private final Student student = new StudentServiceImpl();
@Test
public void shouldReturnEmptyListOfStudentsWhenNotInitialized() {
//given
//when
List<String> students = student.getStudentList();
//then
assertThat(students).isEmpty();
}
@Test
public void shouldReturnSomeStudentsWhenListCreated() {
//given
student.createStudentList();
//when
List<String> students = student.getStudentList();
//then
assertThat(students).containsExactly("John", "Bill", "Ricky", "Jack");
}
@Test
public void shouldStorePreviouslySetListOfStudents() {
//given
student.setStudentList(Arrays.asList("Jane", "Bob"));
//when
List<String> students = student.getStudentList();
//then
assertThat(students).containsExactly("Jane", "Bob");
}
}很少有小窍门:
进一步改进:
https://stackoverflow.com/questions/8800494
复制相似问题