我遇到了一种我不知道如何测试的情况:算法。具体来说,我正在尝试编写 Adler32 方法并为其创建单元测试,但此时我遇到了障碍。

我的第一次尝试最终是我在我的方法中使用的相同代码的缩短版本,这似乎是非常错误的。我的下一次尝试是创建一个包含预期结果的输入值表,然后将预期结果与实际结果进行比较……这似乎是一个好主意,直​​到我意识到我知道如何填充该表的唯一方法是运行算法。所以我被困住了。如何在不重用单元测试中的算法的情况下(直接或间接地)对算法进行单元测试?

最佳答案

使用您描述的输入和已知输出表。您需要从您知道准确的来源获取相同算法的另一个实现的输出。

如果您要实现的算法没有现成的输入/输出数据,请以另一种方式(例如在 Excel 中)重新实现该算法,并生成您知道准确的数据。我们经常对报告进行统计计算,我们可以在 Excel 中轻松生成数据。

关于c# - 你如何在 C# 中对算法进行单元测试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18500788/

10-11 23:02
查看更多