【发布时间】:2016-03-08 07:45:27
【问题描述】:
我有一个类用于处理与外部系统的连接。 该类有一些公共方法,比方说:
- 关闭()
- 配置()
- 发送()
- 连接()
还有一些私有方法。 该类旨在隐藏内部工作中的大部分重新建立、失败检查和连接处理。
现在,我得到了一个代码覆盖错误,因为除了配置方法之外,这个类没有单元测试。
- 除了大量的模拟之外,还有其他方法可以为此类类编写单元测试吗?
- 如果是这样,这不是一个很好的证明,应该在集成测试或系统测试级别而不是单元测试上测试该类吗?通信类属于单元测试还是系统测试?
【问题讨论】:
-
我同意你的第二点。恕我直言,此类类不适合单元测试,并且是单元测试覆盖率异常的候选者。当然,您可以模拟所有内容,但是单元测试将毫无价值,因为它只是测试您的模拟功能。
-
我认为你必须模拟,因为如果它连接你的代码被部分使用,你将不得不断开并重新连接你的计算机才能进入你的代码,这并不容易。如果没有网络“故障”,您的代码的一小部分将被测试。
标签: java unit-testing