テスト中の C# コンソール プログラムの ApplicationExitCode を確認したいと思います。以下は私の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 を利用しようとしています。