【发布时间】:2012-11-08 21:32:34
【问题描述】:
我想对一个用于解析特定模式的文件的 API 进行单元测试。
返回的文本片段可能是多行的并包含选项卡等。即文件中的文本使用新行和制表符进行格式化以供用户阅读(就像我们很好地缩进 xml 文件一样)。
问题:因为Java 不提供该选项定义这样的字符串(这将是对 API 输出的Assert 检查的预期结果)如何处理这些问题?
我想例如将所有预期的输出保存在带有某种特殊字符的文件中,以标记每个预期片段的开始和结束,但我认为也许有一个标准的方法来解决这个问题。
有更好的选择吗?
更新: 示例:
This is an example String.
This is an inner part of the string. Another part. Another also.
This is also an inner part.
Now an outer. This is the outer example string.
【问题讨论】:
-
我很困惑。选择格式有问题吗?为什么不选择你的测试格式呢?很可能 CSV 或 XML 是您可以查看的格式,而且这些格式非常规范。
-
当您说返回的文本可能是“多行”时,是否意味着其中包含 '\n' 个字符?
-
至少对于合理大小的字符串,
"Hello\nWorld"有什么问题? -
@dimo414:我没有定义字符串。我从我将处理的示例文件中复制它们。但是我不能在 eclipse 中复制粘贴它们。
-
不能在eclipse中复制粘贴?那时你的 Eclipse 安装有些混乱。
标签: java string unit-testing junit junit4