在macOS M2上运行Roslyn的NamingStylesTests.cs测试遇阻求助
解决Roslyn特定单元测试未执行的问题
排查与修复步骤
- 单独指定目标测试运行:避免全量测试的过滤逻辑影响,直接运行该测试方法:
或者直接针对测试项目执行:./build.sh --test -filter "FullyQualifiedName~TestCamelCaseLocalsUpperCaseConstants_ConstLocal"dotnet test src/Analyzers/CSharp/Tests/NamingStyles/NamingStylesTests.csproj --filter "TestCamelCaseLocalsUpperCaseConstants_ConstLocal" - 检查测试的条件标记:打开
NamingStylesTests.cs文件,确认该测试是否带有[Fact(Skip = "...")]、[Conditional]或平台相关的跳过属性——M2芯片属于ARM64架构,部分测试可能被标记为仅在x64平台执行。 - 查看详细测试日志:添加详细日志参数,获取测试未执行的具体原因:
dotnet test src/Analyzers/CSharp/Tests/NamingStyles/NamingStylesTests.csproj --verbosity detailed --filter "TestCamelCaseLocalsUpperCaseConstants_ConstLocal" - 确认测试项目的目标框架:检查该测试项目的
.csproj文件,确保包含支持macOS ARM64的目标框架(如net6.0/net7.0),而非仅针对Windows的框架(如net472)。 - 清理缓存后重新构建:缓存可能导致测试未被检测到,执行以下命令重置构建环境:
./build.sh --clean ./build.sh --restore ./build.sh --test -filter "TestCamelCaseLocalsUpperCaseConstants_ConstLocal"
内容的提问来源于stack exchange,提问作者Harald Nordgren
相关产品推荐
相关产品推荐

