用Java测试单行测试多行字符串

时间:2012-11-08 21:32:35

标签: java string unit-testing junit junit4

我想单独测试一个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.

1 个答案:

答案 0 :(得分:2)

我没有看到Java在代码中不允许“多行”字符串这一事实是一个问题。您应该能够与其中包含'\ n'和'\ t'字符的String进行比较。这些“预期”字符串是在测试中硬编码还是来自输入文件是您的测试套件的设计决策。