From f6916fb5b956208b7685e36825fb33c5a75bbbab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Tue, 24 Mar 2026 14:30:16 +0800 Subject: [PATCH] =?UTF-8?q?test(QueryUtil):=20=E4=BF=AE=E5=A4=8D=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=E4=B8=ADcriteria=E7=9A=84=E7=A9=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改测试用例中query.getCriteria()的调用方式,使用orElse处理可能的空值情况,避免空指针异常 --- .../manage/db/dao/QueryUtilDetailedTest.java | 126 +++++++++++------- 1 file changed, 78 insertions(+), 48 deletions(-) diff --git a/novalon-manage-api/manage-db/src/test/java/cn/novalon/manage/db/dao/QueryUtilDetailedTest.java b/novalon-manage-api/manage-db/src/test/java/cn/novalon/manage/db/dao/QueryUtilDetailedTest.java index ed4f117..79c78c3 100644 --- a/novalon-manage-api/manage-db/src/test/java/cn/novalon/manage/db/dao/QueryUtilDetailedTest.java +++ b/novalon-manage-api/manage-db/src/test/java/cn/novalon/manage/db/dao/QueryUtilDetailedTest.java @@ -1,7 +1,5 @@ package cn.novalon.manage.db.dao; -import cn.novalon.manage.db.dao.QueryField; -import cn.novalon.manage.db.dao.QueryUtil; import org.junit.jupiter.api.Test; import org.springframework.data.relational.core.query.Criteria; import org.springframework.data.relational.core.query.Query; @@ -51,16 +49,16 @@ class QueryUtilDetailedTest { @QueryField(propName = "updatedAt", type = QueryField.Type.IS_NOT_NULL) private String updatedAt; - @QueryField(propName = "orField", type = QueryField.Type.OR, - orPropVal = QueryField.Type.IS_NULL, - orPropNames = {"field1", "field2"}) + @QueryField(propName = "orField", type = QueryField.Type.OR, orPropVal = QueryField.Type.IS_NULL, orPropNames = { + "field1", "field2" }) private String orField; - public TestQuery() {} + public TestQuery() { + } - public TestQuery(String name, Integer age, Integer score, String status, String email, - String phone, List roles, String keyword, String deletedAt, - String updatedAt, String orField) { + public TestQuery(String name, Integer age, Integer score, String status, String email, + String phone, List roles, String keyword, String deletedAt, + String updatedAt, String orField) { this.name = name; this.age = age; this.score = score; @@ -74,24 +72,56 @@ class QueryUtilDetailedTest { this.orField = orField; } - public String getName() { return name; } - public Integer getAge() { return age; } - public Integer getScore() { return score; } - public String getStatus() { return status; } - public String getEmail() { return email; } - public String getPhone() { return phone; } - public List getRoles() { return roles; } - public String getKeyword() { return keyword; } - public String getDeletedAt() { return deletedAt; } - public String getUpdatedAt() { return updatedAt; } - public String getOrField() { return orField; } + public String getName() { + return name; + } + + public Integer getAge() { + return age; + } + + public Integer getScore() { + return score; + } + + public String getStatus() { + return status; + } + + public String getEmail() { + return email; + } + + public String getPhone() { + return phone; + } + + public List getRoles() { + return roles; + } + + public String getKeyword() { + return keyword; + } + + public String getDeletedAt() { + return deletedAt; + } + + public String getUpdatedAt() { + return updatedAt; + } + + public String getOrField() { + return orField; + } } @Test void testNullQuery() { Query query = QueryUtil.getQuery(null); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -100,7 +130,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(); Query query = QueryUtil.getQuery(testQuery, true); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -109,7 +139,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(); Query query = QueryUtil.getQuery(testQuery, false); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -118,7 +148,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery("John", null, null, null, null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -127,7 +157,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, 18, null, null, null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -136,7 +166,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, 100, null, null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -145,7 +175,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, "active", null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -154,7 +184,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, "@example.com", null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -163,27 +193,27 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, "123", null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @Test void testInCondition() { - TestQuery testQuery = new TestQuery(null, null, null, null, null, null, - Arrays.asList("admin", "user"), null, null, null, null); + TestQuery testQuery = new TestQuery(null, null, null, null, null, null, + Arrays.asList("admin", "user"), null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @Test void testInConditionWithEmptyList() { - TestQuery testQuery = new TestQuery(null, null, null, null, null, null, - Collections.emptyList(), null, null, null, null); + TestQuery testQuery = new TestQuery(null, null, null, null, null, null, + Collections.emptyList(), null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -192,7 +222,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "test", null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -201,7 +231,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, "keyword", null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -210,7 +240,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, "null", null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -219,7 +249,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, "value", null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -228,7 +258,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, "value"); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -237,7 +267,7 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery("", null, null, null, null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @@ -246,27 +276,27 @@ class QueryUtilDetailedTest { TestQuery testQuery = new TestQuery(null, null, null, null, null, null, null, null, null, null, null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @Test void testMultipleConditions() { - TestQuery testQuery = new TestQuery("John", 18, 100, "active", "@example.com", - "123", Arrays.asList("admin"), "test", null, "value", null); + TestQuery testQuery = new TestQuery("John", 18, 100, "active", "@example.com", + "123", Arrays.asList("admin"), "test", null, "value", null); Query query = QueryUtil.getQuery(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); } @Test void testQueryAllWithoutDeletedAtFilter() { - TestQuery testQuery = new TestQuery("John", 18, 100, "active", "@example.com", - "123", Arrays.asList("admin"), "test", null, "value", null); + TestQuery testQuery = new TestQuery("John", 18, 100, "active", "@example.com", + "123", Arrays.asList("admin"), "test", null, "value", null); Query query = QueryUtil.getQueryAll(testQuery); assertNotNull(query); - Criteria criteria = query.getCriteria(); + Criteria criteria = (Criteria) query.getCriteria().orElse(Criteria.empty()); assertNotNull(criteria); }