我需要创建一个调用控制台应用程序的集成测试。有没有办法在集成测试中运行控制台应用程序?
答案 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
是您要提供的参数。