我正在尝试测试我的3个类,它们以不同的方式对字符串数组进行排序!
我知道有一种方法可以初始化一个数组,然后在我的每个测试中使用它们。
到目前为止,这是我的代码:
public class SortingTest {
public insertionSort is = new insertionSort();
public bubbleSort bs = new bubbleSort();
@Test
public void testBubbleSort() {
String [] sortedArray ={"Chesstitans", "Ludo", "Monkey", "Palle"};
bs.sort(sortedArray);
assertArrayEquals(sortedArray, x);
}
@Test
public void testInsertionSort() {
}
@Test
public void testMergeSort() {
}
@Test
public void testSelectionSort() {
}
@Before
protected void setUp() throws Exception{
String[]x ={"Ludo", "Chesstitans", "Palle", "Monkey"};
}
}
虽然我已经尝试了setUp和initialize方法但它似乎没有找到x我做错了什么?
答案 0 :(得分:11)
您需要将x
作为类SortingTest
public class SortingTest {
private String[] x;
@Before
public void init() {
x = new String {"Ludo", "Chesstitans", "Palle", "Monkey"};
}
}
答案 1 :(得分:2)
setUp
应该初始化一些字段成员,以便其他方法可以访问它。如果初始化局部变量,则在退出setUp变量时它将丢失。
在这种情况下,好事会有两个成员:
在每个测试方法中,您可以对originalArray进行排序,并将结果与已排序的Array进行比较。
答案 2 :(得分:0)
你需要让x
成为一个类的成员,以便它在所有方法中都可见。