Tri*_*ack 1 java junit multithreading unit-testing client-server
我有一个客户端服务器应用程序,为了测试目的,我需要通过调用在测试方法中启动客户端
Client.main();
Run Code Online (Sandbox Code Playgroud)
这创造了一些新的线索.现在我需要等到该线程完成后再在我的测试中执行断言.我怎么知道这发生的时间?或者,我怎么知道,调用启动了哪个线程(客户端也可以创建其他线程).
以main编程方式调用不会自行启动新线程.只有当main方法具有显式启动新线程的代码时才会发生这种情况.如果是这种情况,您应该更改Client为以某种形式提供对此线程的访问权限,以便您可以调用join()它.(调用Thread.join()是等待线程完成的标准方法.)
不Client.main()执行任何任务,其他比开始一个新的线程?如果没有,那么测试可能更简单,只需调用run()新线程最终运行的任何方法,并尽可能使测试成为单线程.
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |