我在 Unity3D 项目中使用一些旧的 C# 代码(特别是 Fortune's Voronoi graph algorithm ),我想更新它以使用正确的泛型、重构并进行总体清理。
理想情况下,我会在不破坏任何东西的情况下执行此操作;该代码有效并且算法的实现是合理的。单元测试显然可以帮助我重构它,而不会搞砸。
不幸的是我真的不懂数学或算法,而且代码很密集而且没有注释。
如何为这样的代码编写单元测试?
最佳答案
单元测试都是关于方法的输入和输出。
因此,您可以只挑选出方法,使用多组参数执行它们,然后存储结果。
然后在单元测试中,您使用相同的参数集执行相同的方法,并且您知道期望输出什么。如果输出发生变化,则说明您破坏了某些内容。
关于c# - 如何对不透明代码进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375872/