如何在单元测试中处理大字符串?

gue*_*rda 6 java junit unit-testing

我有一个关于字符串测试方法的问题。每次,我都会对以字符串作为参数的方法编写新的测试。

现在,出现了一些问题:

  • 如何包含带有 \n、\r、\t、变音符号等的测试字符串?
  • 如何设置编码?
  • 我应该使用由 FileInputStream 打开的外部文件吗?(恕我直言,开销太大)

那么...您解决这个问题的方法是什么?

Mic*_*rdt 2

如何包含带有 \n、\r、\t、变音符号等的测试字符串?

嗯...按照你想要的方式输入即可?您可以使用 \n、\r 和 \t、变音符号 stc。在 Java 字符串文字中;如果你担心源代码文件的编码,可以使用Unicode转义序列,并且可以使用JDK附带的native2ascii工具来生成它们。

如何设置编码?

一旦你有了 Java 字符串,再担心编码就为时已晚了 - 它们使用 UTF-16,并且在字符串和字节数组之间进行转换时会出现任何编码问题(与 C 不同,Java 将这些概念明确分开)

编辑: 如果您的字符串太大而无法在源代码中轻松使用,或者您真的担心换行符和空格的处理,那么将每个字符串保存在单独的文件中可能是最好的;在这种情况下,读取文件时必须指定编码(在 的构造函数中InputStreamReader