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

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

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

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

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

最佳答案

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

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

更新:

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

关于c# - 在 C# 中的单元测试中设置命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167321/

相关文章:

c# - 如何选择 WPF Prism 应用程序使用的 IoC 容器?

c# - 围绕 utc 日期的问题 - TimeZoneInfo.ConvertTimeToUtc 导致日期更改

c# - Windows 8 应用程序/加载屏幕

c# - MSTEST 中的多个 TestInitialize 属性

unit-testing - MsTest:如何设置相对于 $(ProjectDir) 或 $(OutDir) 的部署项

c# - 将新测试项目的测试引入解决方案时,MSTest 单元测试适配器无法连接到数据源

c# - Entity Framework 6 在代码中设置连接字符串

python - 为什么 PyCharm 单元测试发现不适用于目录?

c# - 找不到 IdentityServer4 测试服务器

python - 从 Python 测试用例中更改 "settings"值的最佳方法?