1

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

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

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

我认为 Pex 可能会很好地处理该数据。

我的问题是,因为我坐在一个 DLL 之上,我真的需要将几个东西拼凑在一起进行测试,我如何在这里实现 Pex(我此时对 Pex 几乎一无所知)?

我是否需要以某种方式创建一个我在已读取和发送的 DLL 之上控制的 API,并让 Pex 在这一层创建它的测试?

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

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

4

1 回答 1

1

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

如果您在该 api 中具有大量逻辑以及硬件调用,我会将所有这些与与硬件进行实际交互的代码分开 - 定义一个接口并在其余代码中使用它。这将允许您使用所有涉及的逻辑。

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

于 2009-11-04T00:03:40.970 回答