在C#中的单元测试中设置命令行参数

时间:2013-06-18 11:07:14

标签: c# unit-testing mstest command-line-arguments

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

<强>更新

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