【问题标题】:Dbunit xmlfile fubctions for autogenerating ids用于自动生成 id 的 Dbunit xmlfile 函数
【发布时间】:2016-03-21 14:33:18
【问题描述】:

我在我的测试用例中遇到了 DBUnit 问题。当我在 db 单元中创建数据时,我目前明确指定了 Id。它看起来像这样。

  <users user_id="35" corpid="CORP\35" last_login="2014-10-27 00:00:00.0" login_count="1" is_manager="false"/>
  <plans plan_id="18332" state="1" owned_by_user="35" revision="4"/>
  <plan_history plan_history_id="12307" date_created="2014-08-29 14:40:08.356" state="0" plan_id="18332"/>
  <plan_history plan_history_id="12308" date_created="2014-08-29 16:40:08.356" state="1" plan_id="18332"/>
  <goals goal_id="12331" goal_name="Dansa" description="Dans"/>
  <personal_goals plan_id="18332" personal_goal_id="18338" date_finished="2014-10-28 00:00:00.192" goal_id="12331" state="0"/>
  <personal_goal_history personal_goal_id="18338" personal_goal_history_id="18005" date_created="2014-08-29 14:40:08.356" state="1" />
  <activities activity_id="13001"/>
  <custom_activities activity_name="customActivity" description="Replace" activity_id="13001"/>
  <personal_activities personal_activity_id="17338"  personal_goal_id="18338" date_finished="2014-10-28 00:00:00.192" state="0"  activity_id="13000"/>
  <personal_activity_history personal_activity_id="17338" personal_activity_history_id="18338" date_created="2014-08-29 14:40:29.073" state="1" />

由于用户的 id 是按字面意思指定的,我们经常会遇到测试之间的合并问题,而且解决起来真的很麻烦。这是因为我们可能在不同的分支上工作,并且可能有几个人分配了相同的 id。然后解决方案变为更新种子数据中的所有 id 和所有关系 id 以及更新测试文件。这项工作真的很麻烦。

我在那里寻找一些自动生成 ID 的方法。例如getNextId("User")getLatestId("User") 之类的函数会很有帮助。 DB单元中是否有类似的东西,或者我自己可以创建这样的功能吗?

如果对如何避免此问题有其他建议,我也很乐意在这里提供。

【问题讨论】:

  • “合并测试之间的问题”是什么意思?
  • 这意味着当我们在我们的 vsc 系统 (git) 的不同分支中添加测试时,我们在尝试合并我们的种子数据文件时会遇到问题。这是因为当我们必须为特定测试提供特定用户的 id 时,我们必须确保没有其他人在他们的分支测试中使用该 id。由于这对于大型团队来说确实很难做到,所以我们现在有时必须重新编号测试中的 id:s 和种子数据中的那些,如果发生这种情况。

标签: java spring dbunit


【解决方案1】:

听起来您对所有测试都使用相同的测试数据文件。更好的做法是拥有多个测试文件 - 每个测试一个用于其测试特定数据和用于“主列表”数据的通用文件。 “主列表”数据不会在每次测试时更改,因此在合并测试数据文件时不会遇到上述问题。

【讨论】:

  • 我同意拆分测试数据应该可行。
猜你喜欢
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 2017-08-25
  • 2010-11-16
  • 2011-01-11
  • 2013-10-07
  • 2014-02-21
相关资源
最近更新 更多