在单元测试中替换内存数据库中的H2

时间:2018-10-31 10:31:29

标签: java unit-testing spring-boot junit h2

所以这是我第一次尝试用Java为sping-boot-application编写单元测试(这很令人惊讶,但是:D)。

我试图在单元测试中使用 h2 db,但是我发现内存db中对此有一些限制。当我尝试运行单元测试时。它向我显示了错误。

    public static <K, V extends Comparable<? super V>> Map<K, V
    sortByValue(Map<K, V> map) {
    List<Map.Entry<K, V>> list = new LinkedList<>(map.entrySet());
    Collections.sort(list, new Comparator<Map.Entry<K, V>>() {
        @Override
        public int compare(Map.Entry<K, V> e1, Map.Entry<K, V> e2) {
            return (e2.getValue()).compareTo(e1.getValue());
        }
    });
    Map<K, V> result = new LinkedHashMap<>();
    for (Map.Entry<K, V> entry : list) {
        result.put(entry.getKey(), entry.getValue());
    }
    return result;
}

我立即跳到Google怎么可能,然后我发现h2 db不支持2018-10-31 15:32:21.796 [] [] [Test worker] ERROR org.hibernate.tool.hbm2ddl.SchemaExport :485 - Unknown data type: "JSON"; SQL statement: 字段。尽管有一些解决方法可以跳过JSON数据,但是由于我正在使用JSON,因此,我不能使用诸如更改为Text之类的解决方法。

我很好奇,是否还有其他方法可以使用内存数据库中的其他方法来完成单元测试。

0 个答案:

没有答案