如何在TDD中编写异步方法的测试?

时间:2013-06-13 08:31:30

标签: java junit tdd

我需要编写异步方法的单元测试。

在我的情况下,我有客户端(只是tcp客户端)。它向服务器(tcp服务器)发送消息。服务器异步接收此消息。

我想获取服务器收到的消息,并比较客户端发送的消息。

我该怎么做?

主要是,我想学习如何将TDD应用于异步方法。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

如果您尝试通过客户端和服务器之间的TCP套接字实际发送数据,则这不是单元测试。当您模拟客户端以测试服务器并模拟服务器以测试客户端时,单元测试将是。您不需要对TCP协议进行单元测试,也不需要对用于发送TCP的库进行单元测试(如果您使用的是具有测试的库)。

使用实际的客户端,服务器和TCP套接字将是集成测试。

答案 1 :(得分:0)

就编写异步方法的junit而言,技术上没有任何区别。我的意思是你不必在这里做技术上的不同。您只需要独立于同步方法验证输出。假设为从服务器获取图像而创建了一个不同的异步线程,您只需要验证您是否正在获取输出而不依赖于任何其他线程。