5

是否可以在 VS2012 的单元测试中设置命令行参数?如果没有,除了编写批处理文件之外,还有其他方法可以测试这些参数的许多组合吗?

编辑:我有一个控制台程序,它读取并解析传递的命令行参数。我想确保无论传递什么命令行参数,程序都具有正确的行为。我不想一遍又一遍地尝试所有组合,我想编写一个单元测试来设置参数并用它们启动我的程序。

我不使用任何特定的测试框架。只是 Visual Studio 通过创建一个新的测试项目提供的一个。

4

1 回答 1

5

为什么不将解析逻辑提取到与 main() 分开的单独类和单元测试中?

解析类应该接收字符串参数。因此,您可以在不同的测试中根据需要测试尽可能多的场景,而无需实际运行程序可执行文件,只需调用类即可。

更新

现在,如果您不想创建一个额外的类(为了清楚起见,我可能仍然会这样做,但无论如何),请考虑到您可以Main(string[] args)从单元测试中调用静态方法,传递不同的参数来覆盖不同的场景。

于 2013-06-25T05:25:15.147 回答