繁体   English   中英

如何对OpenCSV解析进行单元测试

[英]How To Unit Test OpenCSV Parsing

所以,我有一个像这样的方法:

public static List<Metrics> buildByColumnName(InputStream is, Class<? extends Metrics> clazz) {
    List<Metrics> metrics = null;
    MappingStrategy<Metrics> ms = new HeaderColumnMappingStrategy<>();
    ms.setType(clazz);

    try {
        Reader reader = new BufferedReader(new InputStreamReader(is));
        CsvToBean<Metrics> cb = new CsvToBeanBuilder<Metrics>(reader).withType(clazz).withMappingStrategy(ms).build();
        metrics = new ArrayList<>(cb.parse());
        reader.close(); 
    } catch (Exception e) {
        LOGGER.error("Error building metrics from CSV file: " + e);
        e.printStackTrace();
    }
}

我已经创建了带有两个测试的单元测试来测试异常情况,但是我不确定要做什么才能测试出幸福的道路。 有任何想法吗?

好吧,由于这是静态方法,因此其输出通常基于输入参数。

您所要做的就是根据输入值提供正确的参数并测试该函数是否返回期望值(我想您也有同样的例外情况)。

您可能需要构建InputStream对象以模拟CSV文件并提供测试数据。

可以按照以下步骤进行:

InputStream stream = new ByteArrayInputStream("value1,value2,value3".getBytes());

运行该方法,检查是否获得正确的List<Metrics> ,仅此而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM