这可能是Visual Studio for Mac中不存在的功能,但我想我可能会问这里是否是我做错事。在运行ASP.NET Core项目之后运行测试而不进行调试会在运行测试之前停止运行项目
我有一个ASP.NET Core MVC项目集作为启动项目。
我也有一套针对.NET Core 2.0的单元测试,它使用Selenium来驱动UI测试。为了运行这些测试,我需要在运行测试之前先运行ASP.NET Core MVC,否则它们会失败,因为应用程序没有运行。
在PC版的Visual Studio中,“Debug”菜单中的“Start without Debugging”选项按预期启动Web应用程序。我的浏览器打开我的应用程序。一旦我确认它正在运行,我就可以在没有任何问题的情况下运行测试(通过测试浏览器)。
在Mac版本的Visual Studio中,“Debug”菜单中的“Start without Debugging”选项按预期启动Web应用程序。我的浏览器打开我的应用程序。一旦我确认它正在运行,我尝试运行测试。测试确实运行,但在运行之前,它会杀死正在运行的应用程序进程。由于应用程序不再运行,测试失败。
TL; DR:
我的解决办法:使用Selenium
下面是步骤
- ASP.NET MVC的核心项目
- .NET核心单元测试项目在VS的两个实例上:
- 单击“调试”(PC)或“运行”(苹果机)
- 点击“开始不调试”
- 等待应用程序在浏览器中显示出来(不要关闭它)
- 转到测试资源管理器(PC)或单元测试(苹果机)
- 运行UI的套装测试
预计:测试通过在PC和Mac版本
实际:测试在Mac版失败,因为Web应用程序过程是在测试运行前死亡
有没有人有任何建议,我可以如何实现我想要实现的目标?