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

标签 c# unit-testing unity-game-engine

我在 Unity3D 项目中使用一些旧的 C# 代码(特别是 Fortune's Voronoi graph algorithm ),我想更新它以使用正确的泛型、重构并进行总体清理。

理想情况下,我会在不破坏任何东西的情况下执行此操作;该代码有效并且算法的实现是合理的。单元测试显然可以帮助我重构它,而不会搞砸。

不幸的是我真的不懂数学或算法,而且代码很密集而且没有注释。

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

最佳答案

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

因此,您可以只挑选出方法,使用多组参数执行它们,然后存储结果。

然后在单元测试中,您使用相同的参数集执行相同的方法,并且您知道期望输出什么。如果输出发生变化,则说明您破坏了某些内容。

关于c# - 如何对不透明代码进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375872/

相关文章:

c# - 在托管代码和非托管代码之间共享 Graphics 对象时丢失抗锯齿

c# - 两种声明变量的方式是否相同?

ios - Oculus 唇形同步 iOS 支持

c# - 轨迹渲染器在传送时留下轨迹

unity-game-engine - Unity Resources.Load<Sprite> 与作为 Sprite

c# - MySql 插入带有 HTML 编码参数的空值

c# - 任务异步/等待不适用于 WPF,因为它在其他场景中有效

c++ - 私有(private)方法的单元测试

c# - visual studio 2012单元测试CRUD操作

c# - 在没有实现的情况下设置属性(类型接口(interface))