Nig*_*vel 3 unit-testing console-application visual-studio-2010
我在Visual Studio中有一个测试项目,我想用它来测试我的控制台应用程序(在同一个解决方案中).
我正在尝试设置使用特定参数调用控制台应用程序的测试,并将实际输出与我期望的进行比较,然后执行我常用的Assert语句以适当地通过/未通过测试.
我能想到的最好的方法是在单元测试中使用System.Diagnostics.Process执行app exe.这有效.我可以阅读输出,一切都很好.
我遇到的问题是当我想在控制台应用程序代码中设置断点时,我可以做一些调试.由于Process启动了控制台应用程序,因此Visual Studio不会监视控制台应用程序,因此它不会中断.没有什么比"等待来自外部应用程序的请求"更像Web应用程序,我理解为什么,但这基本上是我正在寻找的.
所以我的问题是,有没有办法在Visual Studio中设置这些单元测试,在那里我仍然可以调试控制台应用程序?我能想到的唯一解决方法是在控制台应用程序上设置Start Action以启动外部程序,该程序将调用MSTest.exe,并以这种方式运行相应的单元测试.但这似乎这我只是想错了一个问题,其实是有很多更明显的解决方案.
Ser*_*kiy 10
使控制台应用程序尽可能精简,并将所有业务逻辑移至域类.例如
class Program
{
static void Main(string[] args)
{
Foo foo = new Foo(args);
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以轻松地为您的Foo类编写单元测试.
| 归档时间: |
|
| 查看次数: |
7566 次 |
| 最近记录: |