我想检查ApplicationExitCode以了解我正在测试的C#控制台程序。下面是我的NUnit测试方法。我不确定用什么来代替问号。
我的测试类方法:
[Test]
public void ExitApplicationWithZeroOnNoErrors()
{
string[] arguments = { "--version=43" };
var program = new Program(arguments);
Assert.AreEqual(Utility.Status.Success, ?????);
}
我的主要应用程序Program.cs。
public class Program
{
public int? Version { get; private set; }
[STAThread]
public static int Main(string[] arguments)
{
var program = new Program(arguments);
return (int)Utility.Status.Success;
}
public Program(IEnumerable<string> arguments)
{
var parameters = new OptionSet()
{
{"v|version=", "Client version number.", (int v) => Version = v},
};
parameters.Parse(arguments);
}
}
另外,我正在使用NDesk.Options类进行参数收集。我试图编写单元测试并将TDD用于此项目。
答案 0 :(得分:1)
为了检查退回操作系统的退出代码,您应该检查从Main
返回的值。因此,您必须运行Main
:
var returnValue = Program.Main(arguments);
Assert.AreEqual(Utility.Status.Success, returnValue);