创建Pex测试以测试由该DLL控制的DLL和硬件?

时间:2009-10-29 14:30:42

标签: unit-testing dll pex

创建Pex测试以测试由该DLL控制的DLL和硬件?

我有一些硬件有一个由DLL控制的api。我已经在nunit中编写了一些单元测试,它将调用API的相应部分并进行测试。

例如,我可能有一个“获取数据测试”,它有一个1.打开,一个读取,另一个读取,另一个是发送,断言是数据是否正确。

我在想Pex可能会很好地操纵数据片。

我的问题是,因为我坐在DLL的顶部,我真的需要将几个东西放在一起进行测试我如何在这里实现Pex(此时我也几乎不知道Pex)?

我是否需要创建一个API,我在已经读取和发送的DLL上方控制,让Pex进入该层创建它的测试?

编辑: 我做了一些研究,观看了一段很棒的视频 http://channel9.msdn.com/posts/Peli/Getting-started-with-Pex-in-Visual-Studio-2008/

我质疑这样做的能力。听起来Pex很适合创建测试但不是真正的整个系统(api加硬件加数据)

1 个答案:

答案 0 :(得分:1)

它必须检测代码以生成测试,因此它不会达到外部行为。如果您的API很薄,并且做得不多,那么您将无法从中获得太多。

如果你在api中有相当多的逻辑以及硬件调用,我会把所有这些与实际与硬件交互的代码分开 - 定义一个接口并在其余的代码中使用它。这将允许您使用所有相关的逻辑。

以上包括分离诸如解析/分析数据与发送/接收之类的内容。你将能够涵盖所有这些。