如何对不透明代码进行单元测试?

时间:2011-12-04 14:11:11

标签: c# unit-testing unity3d

我在Unity3D项目中使用了一些旧的C#代码(特别是这个Fortune's Voronoi graph algorithm),我想更新它以使用正确的泛型,重构和一般清理。

理想情况下,我会在不破坏任何事情的情况下这样做;代码工作,它的算法实现是合理的。单元测试显然可以帮助我重构它而不会搞砸它。

不幸的是,我真的不理解数学或算法,而且代码密集且无评论。

如何为这样的代码编写单元测试?

1 个答案:

答案 0 :(得分:5)

单元测试完全是关于方法的输入和输出。

所以你可以单独输出方法,用几组参数执行它们,然后存储结果。

然后在您的单元测试中,您使用相同的参数集执行相同的方法,并且您知道期望输出的内容。如果输出发生变化,你就会破坏一些东西。