C#如何广泛测试参数(结果收敛到特定值)

C#如何广泛测试参数(结果收敛到特定值),c#,testing,C#,Testing,我有3个变量作为输入的C#程序(在我的例子中是文本框)。基于这些值,我运行计算并得到结果,在我的例子中是14个数字。问题是,我已经从另一个来源知道了结果(这14个数字)应该是什么样子,我很想回答这个问题: With which input values do I get as close to results as possible? 我想这会让我在一定范围内尝试所有的可能性。所以我的问题是,Visual studio有什么方法可以帮助我做到这一点吗?或者,你会怎么做 非常感谢你的建议 我可能

我有3个变量作为输入的C#程序(在我的例子中是文本框)。基于这些值,我运行计算并得到结果,在我的例子中是14个数字。问题是,我已经从另一个来源知道了结果(这14个数字)应该是什么样子,我很想回答这个问题:

With which input values do I get as close to results as possible?
我想这会让我在一定范围内尝试所有的可能性。所以我的问题是,Visual studio有什么方法可以帮助我做到这一点吗?或者,你会怎么做


非常感谢你的建议

我可能会使用数据驱动测试。这实际上取决于您使用的单元测试框架。例如,在MStest中,您可以将测试值保存在Excel工作表中,test将检查Excel工作表中的所有值。 比如说:

# | Value1 | Value2 | Value3 | Expected
0 |    1   |   1    |    1   |   1
1 |    1   |   1    |    2   |   1

因此,您只编写一个测试,它将自动执行多次(在上面的示例中为2次)。您可以使用您的框架搜索数据驱动测试的详细信息。

如上所述,这取决于您计划如何运行这些测试

您可以考虑的一个选项是使用MBUnit,有几种机制可以针对不同的数字运行测试

看看


我建议查看外部数据源和潜在的
工厂
属性

您是从单元测试的角度进行测试,还是从试图找到最佳解决方案的角度进行测试(例如线性规划问题:)