异步代码,我想测试一些代码,依赖于网络传输。代码发出请求并提供回调 - 请求完成时,回调被触发。我想嘲笑网络传输,并使用Thread.sleep
模拟一些延迟......但当然这会使整个测试暂停。测试使用JUnit
到目前为止,我已经作出新的线程,使用整个测试CountDownLatch
ES从回调发射结束之前停止测试。我的模拟网络对象创建一个新线程,睡在该线程上,然后触发回调。这实际上工作得很好,但问题在于,回调中的任何断言错误都不会报告给原始junit线程 - 相反,我在控制台上收到异常文本,在这些文本中,理解和使用它们更加困难。
我希望有两种:
- 一种方法来管,从产生的线程
assertEquals
输出到主JUnit的输出收藏家,或 - 一个完全不同的,更好的方式来测试的JUnit线程代码,或
- 一些方法来模拟异步代码在一个单独的线程
感谢您的想法!
为什么查不出来QUnit:http://docs.jquery.com/QUnit –