当我通过我的ant构建文件的junit目标
运行我的一个单元测试时<junit showoutput="true" printsummary="yes" haltonfailure="yes" fork="yes" timeout="60000">
junit告诉我:
[junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.958 sec
表示测试成功完成,然而,它会在该行之后挂起,并将无限期地坐在那里(直到我杀死它)。
在测试中,创建了一个新线程,但基于System.out.println
输出,我可以看到它永远不会完成,即使它不会超过几秒钟。如果我明确地调用join()
,那么一切都按预期完成。
如果我在Eclipse中运行相同的junit测试(没有明确的join()
),似乎没有任何问题。
我的问题是[为什么]在我的单元测试方法返回之前是否需要调用join()
?