运行控制台应用程序作为集成测试的一部分c#

时间:2017-01-11 08:09:21

标签: c# nunit

我需要创建一个调用控制台应用程序的集成测试。有没有办法在集成测试中运行控制台应用程序?

2 个答案:

答案 0 :(得分:1)

可能有很多方法可以解决这个问题,但是,鉴于细节不多,有两种方法我可以提出

在另一个进程中启动应用程序

var consoleApp = Process.Start("path/to/your/app.exe");
consoleApp.WaitForExit();

执行应用程序的主要方法

如果UnitTestProject具有对ConsoleApp(项目或程序集引用)的引用,那么这将是最好的方法

Program.Main();

答案 1 :(得分:0)

如果您控制台应用程序返回一些值,您可以在测试中对其进行分析,例如:

Process P = Process.Start(path, param);
P.WaitForExit();
int result = P.ExitCode;
Assert.AreEqual(0, result);

path是您的控制台应用程序exe的路径,param是您要提供的参数。