我有类似 HQL 查询工厂的东西,它产生纯字符串 HQL 查询。如何对语法错误进行单元测试,而无需通过实际执行查询来与数据库进行集成测试?
最好的选择是调用一些神奇的 VerifyHql() 方法,或者在某处使用它并捕获一些有意义的解析异常或其他东西。
我有类似 HQL 查询工厂的东西,它产生纯字符串 HQL 查询。如何对语法错误进行单元测试,而无需通过实际执行查询来与数据库进行集成测试?
最好的选择是调用一些神奇的 VerifyHql() 方法,或者在某处使用它并捕获一些有意义的解析异常或其他东西。
在没有要查询的数据库的情况下测试查询没有多大意义,因此应该使用集成测试进行测试。但是,您可以使用内存中的 SQLite 数据库,而不是访问真实的服务器。有一个NuGet SQLite 包可用。