【问题标题】:Data generation: generate one entity with a several date constraints数据生成:生成一个具有多个日期约束的实体
【发布时间】:2013-03-17 23:23:19
【问题描述】:

很快,我正在寻找一种数据生成工具。我有一个带日期的实体; made 的日期,start 日期和 end 日期。我希望数据生成能够处理这些约束:

  1. made 可能是今天或之后的某一天
  2. start 可能等于 made 但不是之前
  3. end 可能只是在start 之后的一天或start 之后的任何其他日期

我查看了http://generatedata.comhttp://mockaroo.com,但他们没有办法保持约束。我只需要那个约束,但不确定哪些软件可以尝试维护这些约束。我只需要快速数据来测试我的应用程序。谢谢

只是渐渐地,你有没有遇到过找不到你需要的东西的情况?

【问题讨论】:

  • 您应该自己编写数据生成工具。对于您的要求,这真的不是那么难。选择像 Ruby、Groovy 或 Python 这样易于使用/有趣的语言。这是一项很好的技能,因为我相信它会在未来再次出现。
  • @ryan1234,我需要快速数据...我可以写一份,但需要时间。
  • 看看我在 Github 上的 TestDataGenerator 项目,看看它是否能满足您的需求。它使用类似于语法的正则表达式来生成数据。您可以创建一个模板文件并添加带有模式的占位符以生成您想要的输出。
  • 我会去看看@SecretDeveloper

标签: database date test-data data-generation


【解决方案1】:

benerator 是一款使用起来非常灵活的工具,虽然需要快速学习它。根据我的上述情况,在 benerator 的 xml 文件中(这就是它所使用的),我只写了以下内容,我很高兴。事实上,我现在甚至可以为madestartend 日期设置范围。这是包含这些日期的实体(我们称之为 MY_ENTITY)的 30 条记录的生成标签的一部分

<import class="org.databene.commons.TimeUtil"/>

<generate name="MY_ENTITY" count="30" consumer="ENTITY_OUT">
    <attribute name="MADE_DATE" type="date" script ="TimeUtil.today()" />
    <variable name= "for_startDate" type="int" min="0" max="10" />
    <attribute name="START_DATE" type="date" script="TimeUtil.addDays(this.MADE_DATE, 
         for_startDate)" nullable="false"/>
    <variable name="for_endDate" type="int" min="1" max="10" />
    <attribute name="END_DATE" type = "date" script="TimeUtil.addDays(this.START_DATE, 
         for_endDate)"  nullable="false"/>
</generate>

而且 benerator 通过 JDBC 支持很多数据库,它自带了几个 JDBC 驱动。在这里试试http://bergmann-it.de/test-software/index.php?lang=en。它是开源的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多