c# - 如何指示 dotnet test 跳过某些非固定单元测试项目?
问题描述
鉴于:
- 大型单体应用
- 许多单元测试项目,有些由于某种原因运行缓慢
- PR 验证构建是增量的,即并非所有项目都必须重新编译
- PR 验证构建运行
dotnet test --no-build
问题:
dotnet test --no-build
运行所有测试,即使在那些未重新编译的单元测试项目中,因为它们已经是最新的
我想通过仅运行满足以下两个条件之一的单元测试项目来改进该过程:
- 项目实际编译完成(即影响项目的C#代码发生了变化)
- 上一次运行失败(即一些单元测试失败)
TBH,今天我正在通过临时 powershell 代码运行单元测试,其中:
- 知道识别单元测试程序集
- 使用 nunit3-console.exe 运行单元测试
- 成功完成后触摸时间戳文件
- 检查单元测试程序集 dll 时间戳与上述时间戳文件,以确定是否需要运行单元测试。
我不喜欢这种临时逻辑。我想从中受益dotnet test
,因为它是标准的,并且因为它能够在没有任何外部工具的情况下运行代码覆盖。
如何保留所需的行为dotnet test --no-build
?
附言
我不能dotnet test
用来构建代码,因为并非所有项目都是 SDK 风格。我们也有 Asp.Net 和 WCF 应用程序。该代码针对完整的 .NET Framework - net472。
解决方案
推荐阅读
- php - Yii2 - 使用 Ajax 以模态保存表单
- c - 遇到 CS50 Greedy.c 问题
- google-app-engine - 使用 Python 在 Google App Engine Standard 和 Cloud Endpoints Frameworks 上配置 Auth0 身份验证
- java - 无法解密:key=admin.password(Spring 属性),仅在 Eclipse 设置中出错
- python - 如何使用蒙特卡洛方法找到值的不确定性?
- ruby-on-rails - 如何从Ruby中的单词数组中获取所有对角线?
- unity3d - Admob 广告突然停止在应用中显示
- optimization - 多目标优化中的平等和不平等约束?
- architecture - 以数据为中心的架构和客户端服务器架构有什么区别?
- jqplot - jqplot Y轴重新缩放