我的建议是使用单元测试 .
在您的应用程序中,在 Program.cs 中执行以下开关:
#if DEBUG
public class Program
#else
class Program
#endif
static Main(string[] args) 也一样 .
[assembly: InternalsVisibleTo("TestAssembly")]
到你的 AssemblyInfo.cs .
然后创建一个单元测试项目和一个看起来有点像这样的测试:
[TestClass]
public class TestApplication
{
[TestMethod]
public void TestMyArgument()
{
using (var sw = new StringWriter())
{
Console.SetOut(sw); // this makes any Console.Writes etc go to sw
Program.Main(new[] { "argument" });
var result = sw.ToString();
Assert.AreEqual("expected", result);
}
}
}
这样,您可以以自动方式测试多个参数输入,而无需在每次要检查不同内容时编辑代码或更改菜单设置 .
本文介绍了一种通过单元测试来自动验证程序参数输入的方法。具体步骤包括在Program.cs文件中根据调试状态调整代码可见性,并通过内部可见属性使测试项目能够访问被测程序。此外,还提供了一个具体的测试用例示例。
1万+

被折叠的 条评论
为什么被折叠?



