我编写了一个连接设备的程序。
例如,我希望测试reset
方法为设备发送重置请求(它不是HTTP请求,它可以是套接字)。(设备可以是任何东西)。
我不想测试请求只是想确保方法正常工作。
在计算机编程中,单元测试是个人的一种方法 源代码单元,一个或多个计算机程序模块的集合 连同相关的控制数据,使用程序和操作 程序,进行测试,以确定它们是否适合使用。[1] 直观地,人们可以将单元视为最小的可测试部分 应用。在程序编程中,单元可以是整体 模块,但更常见的是单个功能或程序。在 面向对象编程单元通常是整个界面,例如 作为一个班级,但可以是一个单独的方法。
我无法独立测试reset
方法(没有设备)。
我可以为reset
方法编写单元测试吗?
我如何为这些情况编写单元测试?
答案 0 :(得分:0)
使用模拟库,例如:http://www.hibernatingrhinos.com/oss/rhino-mocks。然后,在单元测试中,您可以创建一个实现设备接口的模拟,并且可以验证是否调用了特定方法(在本例中为reset)。
答案 1 :(得分:-1)
您需要创建一个设备仿真系统,假设该设备对您很重要,并且您确实需要知道您的代码是否适用它。
“mock”只会创建一个接口,而您的协议需要进行测试。例如,reset
方法为设备进行物理和逻辑重置需要非零时间。模拟不会削减它。同样,设备只能在某些状态下接受某些命令;通常必须让状态机支持您的模拟器。
您无需在C#中实现设备模拟器;你只需要与设备模拟器接口。例如,有高度可定制的仿真系统可以实现状态机,并且可以由测试数据文件或脚本驱动。