【发布时间】:2015-04-27 11:47:16
【问题描述】:
我用 C# 编写了一个应用程序,它在安装或卸载 SD 卡时执行任务。 它作用于 DBT_DEVICEARRIVAL 和 DBT_DEVICEREMOVECOMPLETE 消息。 现在我想编写测试来检查应用程序是否对这些事件做出正确反应。 如何在单元测试中模拟 SD 卡的到达和移除?
谢谢
【问题讨论】:
-
您需要向我们展示您的实际代码,否则任何尝试回答的人都在猜测是诚实的,通常您会抽象出“SD CARD”特定功能并简单地测试处理事件。
-
将触发事件的代码放入实现接口的类中,然后针对接口进行编码。在单元测试中模拟出接口(或创建一个虚拟类)。
-
这可能是部分解决方案,尽管我的代码获取了设备标签和序列号,并且所有这些都必须被模拟。我想要一个解决方案,我的计算机中有一张已知的 SD 卡,并且能够从我的单元测试中挂载/卸载它以测试应用程序响应。
-
单元测试不应依赖于物理移除卡等外部因素。这使得它们成为集成测试,这很重要,但用于不同的目的。
-
好的,那么我应该在我的标题中使用“集成测试”这个词 ;-)
标签: c# unit-testing sd-card