如何覆盖Java中写文件func

发布于 2025-01-23 06:09:12 字数 1525 浏览 1 评论 0原文

我做了一个简单的功能?我给出一个对象列表,然后获取其标题(只是一些字符串),然后排序并写入文件 当我对此函数进行测试时,覆盖范围是0行,我不知道为什么

    public static void writeToFile(List<Appliances> appliances) throws IOException {
        try (FileWriter writer = new FileWriter("\\result.csv")) {
            appliances.stream().sorted(Comparator.comparing(Appliances::getName)).collect(Collectors.toList());

            String previousClassName = "";

            for (var app : appliances) {
                if (!app.getClass().getSimpleName().equals(previousClassName)) {
                    writer.write(app.getHeaders());
                    writer.write("\r\n");
                    writer.write(app.toCSV());
                    writer.write("\r\n");
                    previousClassName = app.getClass().getSimpleName();
                }
            }
        }
    }

这是我的单位测试代码,我也不是本地英语的人,不要写聪明的单词,只是代码,只有一个小文字一个完美的解决方案,非常感谢

@Test
    void writeToFile() throws Exception {

        try (FileReader expected = new FileReader(String.valueOf(path));
             BufferedReader expectedBR = new BufferedReader(expected);
             FileReader result = new FileReader(String.valueOf(path2));
             BufferedReader resultBR = new BufferedReader(result);
        ) {
            String line1;
            String line2;
            while ((line1 = expectedBR.readLine()) != null & (line2 = resultBR.readLine()) != null) {

                Assertions.assertEquals(line1, line2);
            }
        }
    }

I made a simple function? to which I give a list of objects and then get their headers (just some strings), then sort and write to a file
when i made a test for this func, coverage was 0 lines and i dont know why

    public static void writeToFile(List<Appliances> appliances) throws IOException {
        try (FileWriter writer = new FileWriter("\\result.csv")) {
            appliances.stream().sorted(Comparator.comparing(Appliances::getName)).collect(Collectors.toList());

            String previousClassName = "";

            for (var app : appliances) {
                if (!app.getClass().getSimpleName().equals(previousClassName)) {
                    writer.write(app.getHeaders());
                    writer.write("\r\n");
                    writer.write(app.toCSV());
                    writer.write("\r\n");
                    previousClassName = app.getClass().getSimpleName();
                }
            }
        }
    }

so here is my unit test code, also I'm not native english speaker, dont write clever words pls, just a code and a little text would be a perfect solution, thanks a lot

@Test
    void writeToFile() throws Exception {

        try (FileReader expected = new FileReader(String.valueOf(path));
             BufferedReader expectedBR = new BufferedReader(expected);
             FileReader result = new FileReader(String.valueOf(path2));
             BufferedReader resultBR = new BufferedReader(result);
        ) {
            String line1;
            String line2;
            while ((line1 = expectedBR.readLine()) != null & (line2 = resultBR.readLine()) != null) {

                Assertions.assertEquals(line1, line2);
            }
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文