java - 在 JUnit 测试中是否可以检查方法 System.out.println()

标签 java unit-testing io

<分区>

Possible Duplicate:
JUnit test for System.out.println()

是否可以通过 JUnit 测试检查方法 System.out.println("One, Two") 是否实际打印了 One, Two?

最佳答案

是的,您可以,您可以将默认的 System.out 更改为文件、缓冲区等,并针对预期数据对该新流进行单元测试。但在我看来,这是一个糟糕透顶的想法。

其他方法会使用 Logger 而不是标准输出并对日志进行单元测试,但再一次听起来很奇怪对记录器进行单元测试。至少如果你没有开发日志工具 :)

对我来说,这听起来像是对单元测试的理解不好,但我可能是错的。

关于java - 在 JUnit 测试中是否可以检查方法 System.out.println(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561540/

相关文章:

javascript - 比较具有相同属性但混合在一起的两个对象不遵循字母规则

python - 如何: setting a testsuite in python

java - 计算文件的总计和平均值

java - JVM 如何判断堆栈条目是 int 还是 long

java - java静态同步方法

java - JAXB:在对象图中检测到循环

java - 来自非静态引用错误的非静态方法。简单程序

unit-testing - 错误: undefined method 'x' for Nil (compile-time type is (Point | Nil))

C: fscanf 不改变文件流

haskell - 从 Haskell 中的系统命令读取输入