Java多线程套接字服务器的单元测试

Java多线程套接字服务器的单元测试,java,multithreading,unit-testing,server,scheduled-tasks,Java,Multithreading,Unit Testing,Server,Scheduled Tasks,如何在多线程服务器上进行单元测试 假设我有一个扩展线程类的服务器,并且每个连接的客户机都是一个子线程。此服务器使用套接字api接受新客户端 在这个服务器上进行单元测试的好方法是什么? 单元测试应该包括哪些内容? 我想知道如何模拟客户端 更新: 我决定在上分享我的代码,答案是JMeter。请看这里 注意:您尝试创建功能测试,但在此之前,您需要为类进行单元测试。这是功能测试之前非常重要的一步。如果您谈论的是纯单元测试,而不是集成测试,那么您可以使用它来执行多线程测试 @Test(threadPool

如何在多线程服务器上进行单元测试

假设我有一个扩展线程类的服务器,并且每个连接的客户机都是一个子线程。此服务器使用套接字api接受新客户端

在这个服务器上进行单元测试的好方法是什么? 单元测试应该包括哪些内容? 我想知道如何模拟客户端

更新:
我决定在

上分享我的代码,答案是JMeter。请看这里


注意:您尝试创建功能测试,但在此之前,您需要为类进行单元测试。这是功能测试之前非常重要的一步。

如果您谈论的是纯单元测试,而不是集成测试,那么您可以使用它来执行多线程测试

@Test(threadPoolSize = 5, invocationCount = 10, timeOut = 1000)
public void multithreadedTestMethdo(){
    ....
}

Jmeter模拟多个并发客户端和链接到服务器的探查器,以便了解应用程序服务器上发生了什么


jmeter有很多,但我没有测试它们。探查器可以是jdk内部的jconsole。

对于这样的测试套件来说,好的老junit就足够了。 声明一个AtomicInteger以计数错误。 从初始化方法(用@Before注释)启动服务器的线程。 从每个测试方法(用@test注释)启动代表客户端的多个线程,然后对每个线程执行连接操作。
每个客户端和服务器遇到错误时,都会打印详细的诊断信息,增加错误计数器,然后退出。

还可以查看模拟,查看类的“运行”情况。我推荐。

您指的是什么类型的服务器HTTP/普通套接字?请把你的问题扩大一点,对,普通的套接字。是的,单元测试会给你更快的反馈,并且应该更容易调试。