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

tel*_*dor 4 c# unit-testing mstest command-line-arguments

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

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

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

Pab*_*meo 5

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

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

更新:

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