JUnit:暂停用户输入

Ale*_*man 3 java testing junit

我正在学习JUnit.由于我的应用程序包含图形输出,我希望能够根据我所看到的情况来观察输出并手动传递或失败测试.它应该等我一段时间,如果它超时则失败.

有没有办法在JUnit(或其扩展)中执行此操作,或者我应该在输出上抛出一个对话框和assertTrue?看起来它可能是现有解决方案的常见问题.

编辑:如果我不应该使用JUnit,我应该使用什么?我想经常手动验证构建,并自动进行单元测试,如果两个测试框架相处得很好.

Bjö*_*lex 6

手动接受/拒绝测试会破坏使用自动测试框架的目的.JUnit不是为这种东西而制作的.除非你找到一种方法来创建和注入代表你的输出设备的对象的模型,你应该考虑替代方案(不要真的知道任何抱歉).

我曾经为视频解码组件编写过自动化测试.我使用其他解码器作为参考将解码后的数据转储到文件中,然后将解码器的输出与使用每对图像的PSNR的输出进行比较.这不是100%自包含(需要外部文件作为资源),但至少是自动化的,并且对我来说工作正常.