是否有可能在VS2012的单元测试中设置命令行参数? 如果没有,除了编写批处理文件之外,还有其他方法可以测试这些参数的许多组合吗?
编辑: 我有一个控制台程序,它读取和解析传递的命令行参数。 我想确保程序具有正确的行为,无论传递什么命令行参数。我没有反复尝试所有组合,而是想编写一个单元测试来设置参数并用它们启动我的程序。
我没有使用任何特定的测试框架。只是通过创建一个新的测试项目在Visual Studio中提供的那个。
答案 0 :(得分:5)
为什么不将解析逻辑提取到与main()分开的单独的类和单元测试?
解析类应该接收字符串参数。因此,您可以在不同的测试中测试尽可能多的场景,而无需实际运行程序可执行文件,而只需调用该类。
<强>更新强>:
现在,如果你不想创建一个额外的类(我可能仍然会这样做,只是为了清晰,但无论如何),考虑到你可以从你的方法中调用静态Main(string[] args)
方法单元测试,传递不同的参数以涵盖不同的场景。