【问题标题】:Script for testing C# console Application and produce profiling results用于测试 C# 控制台应用程序并生成分析结果的脚本
【发布时间】:2012-06-17 04:17:32
【问题描述】:

我编写了一个 C# 控制台应用程序,在该应用程序中我接受来自用户 Console.ReadLine(); 的一组输入。我返回集合中一个输入的可能替换。这些作为列表返回。现在我想针对大约 100 组输入值测试我的应用程序,并想知道给定集合中的每个输入变量可以进行多少次替换。我还想要每次运行的分析结果。

有没有一种方法我可以做到这一点,而无需自己对 100 组代码进行测试?我希望有一种方法可以让我在某个文件(可能是一个 csv 文件)中列出我的输入集,每次都会重定向输入。

如果有解决方案,我可以在 linux 中使用 MONO。 谢谢:-)

【问题讨论】:

标签: c# .net scripting mono


【解决方案1】:

您可以考虑使用Process 类。

var processInfo = new ProcessStartInfo
{
    FileName = "consoleapp.exe",
    WindowStyle = ProcessWindowStyle.Hidden,
    CreateNoWindow = false,
    UseShellExecute = false,
    RedirectStandardOutput = true,
    RedirectStandardInput = true
};

using (Process clconfigureclient = Process.Start(processInfo))
{
    // Write input to your application.
    clconfigureclient.StandardInput.WriteLine(value1);
    clconfigureclient.StandardInput.WriteLine(value1);
    clconfigureclient.WaitForExit();
}

output = cm.StandardOutput.ReadToEnd();
// Do checks on output.

【讨论】:

  • 即使我使用 for 循环并改变我的输入,我如何获得 .exe 应用程序每次调用的分析结果
  • 我不知道您希望运行哪种分析。只是执行的总时间?您可以为此使用秒表计时器。您的应用程序是否记录在 Windows 性能监视器中?等等。
猜你喜欢
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
  • 2013-12-24
  • 2021-12-01
相关资源
最近更新 更多