using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;
using System.Threading.Tasks;
public void TestProgramExecution()
bool testResult = RunTest();
Assert.IsTrue(testResult, "Program failed to run for 30 seconds.");
var processInfo = new ProcessStartInfo
FileName = "YourProgram.exe",
RedirectStandardOutput = true,
RedirectStandardError = true,
using (var process = new Process { StartInfo = processInfo })
var task = Task.Run(() => process.WaitForExit(30000));
Console.WriteLine($"An error occurred: {ex.Message}");