junit - junit如何为某些输入运行进入无限循环的方法?

  显示原文与译文双语对照的内容
125 3

我想这个问题是我想的,我想在这里问。

这种情况是故意的,我只写一个无限循环的循环。如何进行单元测试?

因为这种情况可能出现在代码中的任何地方。将方法委托给其他几种方法,我想知道

  • 它是如何进入无限循环
  • 哪些输入引起了它
  • 调用( 从此方法中) 导致这里方法的方法

我没有编写这里代码的代码。如果将来这种情况发生,那么这个问题是纯粹的知识。请应答。

时间:原作者:0个回答

145 3

如何为某些输入运行进入无限循环的方法?

你可以测试几乎相反的情况:"如何为一个方法方法使该方法在某些输入中不超过Xxxx毫秒。如果这个测试失败,你可能发现一个具有无限循环的候选项。

NUnit 2.5有一个 TimeoutAttribute插件,如果测试花费的时间超过了给定的毫秒数,那么测试会失败。

原作者:
64 2

我希望你是指某种消息泵/事件处理循环。( 大多数循环都是坏的) 。

我将确保循环委托给处理输入的某个类。彻底测试此类。

循环构造失败的概率是最小的。所以我将通过验收测试或者手工测试。

这有点类似于测试可执行文件的主函数。这里的技巧也是为了确保可以测试类的主要委托。

原作者:
...