【问题标题】:XSD for testdata generation用于测试数据生成的 XSD
【发布时间】:2016-12-03 01:05:58
【问题描述】:

我正在尝试使用 JAVA 为测试数据生成平面文件。平面文件有自己的映射文档,描述了每一行的所有字段。

有人建议我使用 XSD 进行映射,我对 XSD 做了一些研究。据我了解,XSD 仅用于验证 XML。在这种情况下,我必须根据 XSD 随机生成 XML 文件并将其转换为 txt 或其他格式。因为作为输出我需要平面文件,而不是 XML。

似乎使用 XSD 我在创建文件时添加了额外的步骤,因为首先创建 XML,使用 XSD 验证并将其转换为预期格式。

在我的情况下,您对遵循映射文档有何建议?

提前致谢。

【问题讨论】:

  • 您能否提供您尝试过的内容、示例数据和示例输出?
  • 您是否被要求使用 XSD 或 XSLT 进行映射? XSD 是说明 XML 组织的模式定义,XSLT 可以将 XML 映射/转换为 text/xml/html 或其他格式
  • 老实说,我现在还不清楚。最终输出应该是带有随机数据的平面文件,但它必须与映射文档相同。例如,第一行应该包含 FirstName(1-10)、LastName(11-25)、Address(26-50) 并且每个字段都有自己的位置,如果字段的字符较少,则应该在下一个字段之前添加空格。现在我需要制定我的策略并计划开始创建它,但我不确定从什么开始。谢谢。

标签: java xml xsd mapping flat-file


【解决方案1】:

我以前见过你这种设置。原因可能与您的特定情况不同,但仍然是有道理的。需要考虑的一件事与人们可用的技能和工具有关,因此无论怎样让工作快速而顺利地完成,都可以。

您似乎描述了一种基于偏移的“平面”数据结构。就我而言,人们使用 COBOL 抄写本非常擅长描述这一点。 IBM Rational Developer 有一个内置向导,它允许从 COBOL 副本创建 Java 数据绑定。这就是说,在一分钟之内,一个 Java 类可以立即为您的平面文件创建记录(它带有执行填充所需的所有逻辑等)

为了生成数据,有一些工具能够生成 XML 文件,这些文件涵盖了 XSD 定义的所有约束(例如,替代内容,即 xsd:choice、枚举值等)。现在,假设您有一个合适的 XSD 来描述您的您的平面文件的逻辑模型,可以从 XSD 规范生成 10、100 甚至 100K XML。只需单击一下,加上工具创建这些文件所花费的时间。

接下来,要在生成的 Java 类中获取 XML 文件,从而避免使用 XSLT 或其他任何东西(许多商店没有技能),这可能就像在 JAXB 生成的类和生成的类之间编写 Java 映射代码一样简单上面创建的那个,或者如果可以匹配,只需注释生成的类以支持 JAXB 解组。最后一步可能需要更长的时间来编写代码,但它是任何 Java 开发人员都知道如何去做的微不足道的代码。

这可能会让您了解为什么有人会推荐 Java 和 XSD 来完成这项任务。 XSD 是一种内置约束支持的建模语言,这可能有助于通过组合技术生成测试数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多