我通常用 ruby 编写代码,并使用 rspec 进行单元测试。
现在我必须在 java 中做一些工作,所以我使用的是 JUnit。多个测试套件的输出如下所示;
test:
[junit] Running com.whatever.MapperTest
[junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.542 sec
[junit] Running com.whatever.ReducerTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.391 sec
[junit] Running com.whatever.DenormalizerTest
[junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.046 sec
[junit] Running com.whatever.EventTest
[junit] Tests run: 31, Failures: 0, Errors: 0, Time elapsed: 0.081 sec
BUILD SUCCESSFUL
Total time: 5 seconds
这是相当密集的文本,并且很难看到失败和错误。
使用 RSpec,我得到这样的输出;
............F........F........E.......
在哪里 '。' 代表通过测试,'F' 是失败,'E' 是错误。此输出下方是所有失败/错误的详细信息。
我发现这种格式更容易查看 - 在查看 JUnit 的正常摘要输出中的运行/失败/错误计数时,失败和错误会以一种它们不会出现的方式出现。
我已经通过 build.xml 文件的 junit 任务中的几个选项,包括:
<formatter type="plain" usefile="false" />
和
<junit printsummary="true">
使用 formatter="plain" 会使屏幕充满过多的冗余信息。我不需要将每一个通道都列为一行文本——理想的只有一个点。
有谁知道是否编写了一个自定义格式化程序来产生类似于我想要的格式的东西?
我使用的任何工具都需要在命令行上运行,所以花哨的 GUI 工具不是一个选项。