簡體   English   中英

我如何斷言當我輸入兩個字符串輸入時,特定的數組正在輸出JUnit測試

[英]How do I assert that when I put in two string inputs that a specific array is output JUnit testing

嗨,我有一個問題,我想斷言,當我輸入2個特定的字符串時,會返回一個數組。 我想使用assert語句和參數化測試來執行此操作,但是我當前的assert語句顯示錯誤 ,我將代碼放在下面,請幫助:

我的輸入都是String數據類型,而我的下拉課程的輸出是一個數組

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;

    }

使用方法

Assert.assertArrayEquals( expectedResult, result );

代替

assertEquals

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM