VS 2008の組み込みの単体テストフレームワークと、テストしているメソッドを使用してC#単体テストを作成しようとしていますEnvironment.Exit(0)
。単体テストでこのメソッドを呼び出すと、単体テストは中止されます。メソッドは確かにを呼び出す必要がありExit
、それをテストする方法と、使用する終了コードをテストする方法が必要です。どうすればこれを行うことができますか?Microsoft.VisualStudio.TestTools.UnitTesting名前空間を確認しましたが、関連性のあるものは見つかりませんでした。
[TestMethod]
[DeploymentItem("myprog.exe")]
public void MyProgTest()
{
// Want to ensure this Exit's with code 0:
MyProg_Accessor.myMethod();
}
その間、私がテストしたいコードの要点は次のとおりです。
static void myMethod()
{
Environment.Exit(0);
}
編集:RichardOD のおかげで、テストメソッドで使用したソリューションは次のとおりです。
Process proc;
try
{
proc = Process.Start(path, myArgs);
}
catch (System.ComponentModel.Win32Exception ex)
{
proc = null;
Assert.Fail(ex.Message);
}
Assert.IsNotNull(proc);
proc.WaitForExit(10000);
Assert.IsTrue(proc.HasExited);
Assert.AreEqual(code, proc.ExitCode);