unit-testing - 如何测试 QueryDsl 谓词

标签 unit-testing jpa querydsl

我有一个用于我的 QueryDsl 的实用程序类查询。例如,我有以下方法:

public static StringExpression emptyIfNull(StringExpression expression) {
    return expression.coalesce("").asString();
}

我真正想确定的是

  1. 表达式的计算结果为 ""当原始表达式为null
  2. 否则表达式的计算结果为原始字符串

我应该如何测试这个?我应该使用整个上下文设置数据库测试,还是有一种更简单的方法来验证是否添加了正确的表达式,即使用实用程序方法给我一个 COALESCE(<original>, '') SQL 函数?

最佳答案

我会在实际操作中测试它们,如果您测试序列化,您将查看准备好的语句模板,并且当 Querydsl 序列化逻辑更改时,您的测试可能会中断。

关于unit-testing - 如何测试 QueryDsl 谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18637356/

相关文章:

c++ - Qt -Timers 只能用于以 QThread 启动的线程

objective-c - 模拟 CLLocationManager (swift) 用于测试

java - DAO 方法应该调用同一类中的另一个方法还是应该由服务层执行?

node.js - 使用 Mocha/Sinon 测试 NodeJ - Sails

spring - JPA ManyToMany 插入重复值

java - 使用 Hibernate 将一个实体映射到一张表的不同列

java - elasticsearch自定义相似度插件如何实现?

java - 如何在外部实体上生成 query-dsl Q 类?

jpa - QueryDSL 连接表错误

unit-testing - 使用 throwsA 进行 Dart 单元测试