多线程单元测试Java多线程socket服务器
如何在多线程服务器上进行单元测试
假设我有一个扩展线程类的服务器,并且每个连接的客户机都是一个子线程。此服务器使用socketapi接受新客户端
在这个服务器上进行单元测试的好方法是什么? 单元测试应该包括哪些内容? 我想知道如何模拟客户端
更新: 我决定在github上共享我的代码
你可以在下面搜索框中键入要查询的问题!
如何在多线程服务器上进行单元测试
假设我有一个扩展线程类的服务器,并且每个连接的客户机都是一个子线程。此服务器使用socketapi接受新客户端
在这个服务器上进行单元测试的好方法是什么? 单元测试应该包括哪些内容? 我想知道如何模拟客户端
更新: 我决定在github上共享我的代码
# 1 楼答案
答案是JMeter。请在这里阅读Java sockets - How to simulate multiple clients
注意:您尝试创建功能测试,但在此之前,您需要为类进行单元测试。这是功能测试前非常重要的一步
# 2 楼答案
Jmeter模拟多个并发客户端和链接到服务器的探查器,以便了解应用程序服务器上发生了什么
jmeter中有alternatives,但我没有测试它们。探查器可以是jdk内部的jconsole
# 3 楼答案
好的老junit对于这样的测试套件来说已经足够了。 声明一个AtomicInteger以计数错误。 从初始化方法(用@Before注释)启动服务器的线程。 从每个测试方法(用@test注释)启动代表客户端的多个线程,然后对每个线程执行连接操作。 每个客户端和服务器遇到错误时,都会打印详细的诊断信息,增加错误计数器,然后退出
# 4 楼答案
如果您谈论的是纯单元测试,而不是集成测试,那么可以使用TestNG来执行多线程测试
# 5 楼答案
也可以通过模拟来了解你的班级“跳舞”的情况。我建议mockito