微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JUnit4:测试类型为ArrayList的读取文件方法

如何解决JUnit4:测试类型为ArrayList的读取文件方法

我已经编写了一个测试,以检查我的读取.txt文件的java方法是否可以成功执行

@Test
    public void testRead() {
        String filePath = "testpackread.txt";

        ArrayList<Card> testReaderMethod = FileManager.readFile(filePath);
        assertEquals(4,testReaderMethod);
    }

我打开的文件包含数字4,如果它读取的第一行为4,我想做的就是测试通过

测试运行并且方法成功,所以问题不在于我如何编写方法。 命令行中的输出显示

java.lang.AssertionError: expected:<4> but was:<[project.Card@3043fe0e]>

如果有帮助,这是正在测试的方法

    public static ArrayList<Card> readFile(String packPath){  
        ArrayList<Card> cardDeck = new ArrayList<>();
        int cardNumber;
       
            BufferedReader in = new BufferedReader(new FileReader (packPath));
            String line = in.readLine();
            while(line!= null){
                cardNumber = Integer.parseInt(line);
                if (cardNumber > 0) {
                    cardDeck.add(new Card(cardNumber));
                    line = in.readLine();
                }else {//If found invalid card stop immediately and clear cardDeck
                    System.out.println("[Message] : Integer must be positive");
                    cardDeck.clear();
                    line = null;
                }
           
            in.close();//Close file reader
        return cardDeck;
    }

非常感谢您的帮助,我希望我已经清楚

解决方法

您的断言等同于:

if (Integer.valueOf(4).equals(Arrays.asList(new Card(4))))

如果您尝试这样做,它也将不起作用,对吧?

也许(如果Card实现了equals):

assertEquals(Arrays.asList(new Card(4)),testReaderMethod);

assertEquals(1,testReaderMethod.size());
assertEquals(4,testReaderMethod.get(0).getCardNumber());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?