gpt4 book ai didi

visual-studio-2010 - 在 Visual Studio 中对控制台应用程序进行单元测试

转载 作者:行者123 更新时间:2023-12-01 07:42:45 24 4
gpt4 key购买 nike

我在 Visual Studio 中有一个测试项目,我想用它来测试我的控制台应用程序(在同一个解决方案中)。

我正在尝试设置使用特定参数调用控制台应用程序的测试,并将实际输出与我期望的进行比较,然后执行我通常的 Assert 语句以适本地通过/失败测试。

我能想到的最好的方法是在单元测试中使用 System.Diagnostics.Process 执行应用程序 exe。这有效。我可以读取输出,一切都很好。

我遇到的问题是当我想在控制台应用程序代码中设置断点时,我可以进行一些调试。由于 Process 启动了控制台应用程序,Visual Studio 不会监视控制台应用程序,因此它不会中断。没有什么比“等待来自外部应用程序的请求”更像 Web Apps 的,我理解为什么,但这基本上就是我要寻找的。

所以我的问题是,有没有办法在 Visual Studio 中设置这些单元测试,我仍然可以在其中调试控制台应用程序?我能想到的唯一解决方法是在控制台应用程序上设置启动操作以启动外部程序,该程序将调用 MSTest.exe,并以这种方式运行适当的单元测试。但这似乎是一个我只是想错了的问题,实际上有一个更明显的解决方案。

最佳答案

使您的控制台应用程序尽可能精简,并将所有业务逻辑移至域类。例如。

class Program
{
static void Main(string[] args)
{
Foo foo = new Foo(args);
}
}

之后,您可以轻松地为 Foo 类编写单元测试。

关于visual-studio-2010 - 在 Visual Studio 中对控制台应用程序进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com