以数组为参数的单元测试方法

时间:2010-06-16 10:25:48

标签: .net vb.net unit-testing

我将一些C ++程序集移植到VB,执行各种波形的解调。我决定采用单元测试路线而不是构建测试应用程序来了解测试的执行方式。原始解调代码接受一个波形数组以及其他一些参数。如何对有阵列作为参数的东西进行测试?在文件中生成假数据并在测试开始时读取它是否可以接受?

旁注 - 原始的C ++代码是因为我们在VB6中执行数学运算而无法完成的,因此我们必须跨越C ++和VB6之间的边界并使用数组。是否有一种“更好”的方式来处理.NET世界中的大量数据,VB6程序员可能还不知道这些数据?或者,如果我们没有跨越托管/非托管边界,我们是否应该将数据表示为对象?

全部谢谢!

2 个答案:

答案 0 :(得分:1)

取决于测试阵列的大小。如果它们不是那么大,我宁愿将它们保存在代码中 - 这样单元测试是自包含的,而不依赖于外部资源。

但是,如果阵列很大,它可以存储在假数据文件中。或者,如果生成不是非常复杂或耗时,甚至可以即时生成。

即使你决定重构你的API,我建议先为当前的API编写单元测试。完成测试后,您可以更安全地进行重构。

答案 1 :(得分:0)

首先要摆脱阵列。你在你的问题中说,数组的唯一原因是c ++接口。现在你的代码是vb.net,所以清理那个界面。您最初可能会从包含数组的内容开始:class WaveForm {}隐藏代表性详细信息。