我在Unity3D项目中使用了一些旧的C#代码(特别是这个Fortune's Voronoi graph algorithm),我想更新它以使用正确的泛型,重构和一般清理。
理想情况下,我会在不破坏任何事情的情况下这样做;代码工作,它的算法实现是合理的。单元测试显然可以帮助我重构它而不会搞砸它。
不幸的是,我真的不理解数学或算法,而且代码密集且无评论。
如何为这样的代码编写单元测试?
答案 0 :(得分:5)
单元测试完全是关于方法的输入和输出。
所以你可以单独输出方法,用几组参数执行它们,然后存储结果。
然后在您的单元测试中,您使用相同的参数集执行相同的方法,并且您知道期望输出的内容。如果输出发生变化,你就会破坏一些东西。