gpt4 book ai didi

database - 在 Hibernate 中记录测试数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:05 25 4
gpt4 key购买 nike

我有一个用于测试硬件小部件的自动化测试框架。现在只有测试用例的通过/失败结果使用 hibernate 存储到关系数据库中。我想更改此设置,以便将测试的各种特征存储在数据库中。 (例如,有多少沙鼠在小部件内运行,测试中各种断言的输入等)。

每个测试用例都表示为一个 Java 类,所以我首先想到的是使用 hibernate 为每个测试用例创建一个表。但是,我们有很多很多测试用例,所以我认为为每个测试用例都有一个表不一定是最好的主意。

特定测试用例的数据量和类型不会因测试用例的不同执行而改变,但每个测试用例所需的数据将大不相同。举个愚蠢的例子:对于沙鼠啃咬测试,我们总是想记录沙鼠啃咬电线的年龄和颜色,但对于粉碎测试,我们只需要记录向小部件扔了多少石头。

理想情况下,我们能够使用 SQL 从数据库中查询此信息,这样数据就不会存储为二进制 blob 或其他不可查询的实体。

关于如何构建数据库以满足这些要求有什么想法吗?我是否完全不想要大量表格?

最佳答案

我会说你有两个主要选择:

使您的 TestCase 类成为公共(public)父类(super class)的子类,然后使用一种继承映射策略 (http://hibernate.org/hib_docs/reference/en/html/inheritance.html)数据库引擎的限制。

或者你做一个 EAV 模型 ( http://en.wikipedia.org/wiki/Entity-Attribute-Value_model )它非常灵活,但请注意,它会导致对简单问题的查询极其复杂。

确保您在进行其中一个或另一个之前使用实际体积运行测试。

关于database - 在 Hibernate 中记录测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/560027/

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