我如何断言当我输入两个字符串输入时,特定数组输出JUnit测试

时间:2017-10-04 09:01:48

标签: java testing junit

嘿伙计我有问题,我想断言当我输入2个特定字符串时返回一个数组。我想使用assert语句和参数化测试来执行此操作,但我当前的断言语句显示错误,我已将我的代码放在下面请帮助:

我的输入都是字符串数据类型,而我的输出来自下拉课程

import IT_chatbot.drop_course;

 @RunWith(Parameterized.class)
 public class drop_course_test {

 drop_course check;

    @Before
    public void setUp() throws Exception {
        check= new drop_course();
    }

            private String[] output;
            private String input1;
            private String input2;

        public drop_course_test(String output[],String input1,String input2 )
        {
            this.output=output;
            this.input1=input1;
            this.input2=input2;
        }

        @Parameters
        public static Collection testConditions(){

            String[] droplist1={"ITE222 Web Development 2","ITE365 Software Quality Management","ITE446 Current Topics in Software Engineering","ITE220 Programming 1"};

            return Arrays.asList(new Object [][]{
                    {droplist1, "216110116","ITE200"},

            });
        }
    @Test
    public void test() {
        assertEquals(output, drop_course.drop(input1, input2));
    }

}

我想测试的方法如下所示:

 package IT_chatbot;

 import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;

 public class drop_course {
 public static String[] drop(String studentID, String courseCode){

    String filePath = "enrolled_courses"+studentID+".txt";
    String disenrolled_subtracted[]=new String[5];
    int value_at=0;

    System.out.println("Your Course has been dropped the following are your current courses:");
    try {
        BufferedReader lineReader = new BufferedReader(new FileReader(filePath));
        String lineText = null;

        while ((lineText = lineReader.readLine()) != null) {
            if(lineText.contains(courseCode)){
                lineText = lineText.replace(lineText, "");
                FileWriter writer = new FileWriter("filePath", true);
                writer.write("-disenrolled-"+lineText);
            }else{
                System.out.println(lineText);
                disenrolled_subtracted[value_at]=lineText;
                value_at=value_at+1;
            }

        }

        lineReader.close();
    } catch (IOException ex) {
        System.err.println(ex);
    }
    return disenrolled_subtracted;

    }

1 个答案:

答案 0 :(得分:0)

使用方法

Assert.assertArrayEquals( expectedResult, result );

而不是

assertEquals