7

我正在尝试测试我的 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 我做错了什么?

4

3 回答 3

13

你需要做x一个类的成员变量SortingTest

public class SortingTest {  

    private String[] x; 

    @Before
    public void init() {
      x = new String {"Ludo", "Chesstitans", "Palle", "Monkey"};
    }
}
于 2012-09-18T08:10:51.057 回答
2

setUp应该初始化一些字段成员,以便其他方法可以访问它。如果你初始化一个局部变量,当你退出 setUp 变量时它会丢失。

在这种情况下,好事将有两个成员:

  • 原始数组
  • 排序数组

在每种测试方法中,您都可以对 originalArray 进行排序并将结果与​​您已经排序的Array 进行比较。

于 2012-09-18T08:10:51.903 回答
0

您需要创建x一个类的成员,以便它在所有方法中都可见。

于 2013-08-06T08:57:11.397 回答