gpt4 book ai didi

unit-testing - 自动分析/单元测试 NHibernate 行为

转载 作者:行者123 更新时间:2023-12-04 04:11:15 24 4
gpt4 key购买 nike

几个月来,我一直在大量使用 NHibernate,我发现它非常强大,但对我来说,这是一种有时会伤害您的工具。在很多情况下,映射、LINQ 查询或任何使用我的实体的代码中相对简单的更改都会导致意外行为。我最“惊人的成功”是执行 N+1 次删除和插入的读取操作,因为我在代码中而不是在数据库中对我的组件集合进行排序。

感谢 NHProf我可以跟踪一些这样的问题,但我觉得我不能确定在重构或小的需求更改后,我的数据访问层仍然正常运行,高效 .每次更改后手动测试/分析它有点痛苦。我在这里期望的是某种方式 单元测试 NHibernate 的行为 引擎盖下 ,即生成了什么 SQL、完成了多少查询、加载了多少实体、连接了多少表等。

我知道这可能有点偏离 ORM 的主要目的,但对于需要良好执行的应用程序,在我看来,低级知识比抽象更重要。

有没有与这个想法类似的实现?如何实现自动化 分析 我的 NHibernate 应用程序?

最佳答案

我为此目的使用的是 统计 .

您可以获得 IStatistics实例从你的 session 工厂,并得到 手数性能指标,包括执行的查询数量、缓存未命中、执行时间等等。

有了这个,您可以设置执行适当调用的单元/集成测试,并验证这些指标是否在预期的引用参数内。

关于unit-testing - 自动分析/单元测试 NHibernate 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6102211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com