【发布时间】:2015-09-13 00:20:11
【问题描述】:
我有一个数字列表,我正在尝试编写一个 jUnit 测试来检查以确保该列表被正确填充和返回。我遇到了一个问题,我不知道如何编写正确的 jUnit 测试。这是我想出的:
ArrayListPractice.java
import java.util.ArrayList;
public class ArrayListPractice {
ArrayList<String> myList = new ArrayList<String>();
public ArrayList<String> addToList(String item) {
myList.add(item);
return myList;
}
public ArrayList<String> printList(ArrayList<String> myList) {
for (String currentString : myList) {
System.out.println(currentString);
}
return myList;
}
}
ArrayListPracticeTest.java
import static org.junit.Assert.assertEquals;
import java.util.ArrayList;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class ArrayListPracticeTest {
ArrayList<String> myList = new ArrayList<>();
ArrayListPractice alp;
@Before
public void setUp() throws Exception {
alp = new ArrayListPractice();
alp.addToList("ONE");
}
@After
public void tearDown() throws Exception {
}
@Test
public void testPrintList() {
String expected = "ONE";
ArrayList<String> actual = alp.printList(myList);
assertEquals("not the correct list", expected, actual);
}
}
【问题讨论】:
-
您认为
void是什么意思?你觉得assertEquals是做什么的? -
@SotiriosDelimanolis void 表示没有返回值,assertEquals 用于检查实际值和期望值是否相等
-
好的,现在将这些答案放在一起,同时阅读编译器给出的错误消息。
-
@SotiriosDelimanolis 我对 Java 还是很陌生,所以如果我不能尽快理解,我深表歉意。我已经更改了上面的代码以反映我所做的更改,现在我收到了 NullPointerException 错误。