如何为Rider配置自定义单元测试适配器?VS可用但Rider无法识别测试
配置Rider自定义单元测试适配器的步骤
1. 确认适配器的兼容性
首先确保你的自定义单元测试适配器符合.NET测试平台的标准:
- 必须实现
ITestDiscoverer和ITestExecutor接口(来自Microsoft.VisualStudio.TestPlatform.ObjectModelNuGet包) - 适配器程序集需带有
ExtensionUriAttribute、ExportTestDiscovererAttribute和ExportTestExecutorAttribute标记,这是测试平台识别适配器的关键
2. 部署适配器程序集
将适配器的程序集(包括所有依赖项)部署到以下任一位置:
- 测试项目的输出目录(如
bin/Debug/net8.0),确保测试项目编译后能自动包含这些文件 - Rider的全局测试适配器目录:
- Windows:
%APPDATA%\JetBrains\Rider<版本号>\Plugins\UnitTestSupport\TestAdapters - macOS:
~/Library/Application Support/JetBrains/Rider<版本号>/Plugins/UnitTestSupport/TestAdapters - Linux:
~/.local/share/JetBrains/Rider<版本号>/Plugins/UnitTestSupport/TestAdapters
- Windows:
3. 配置Rider测试发现设置
- 打开Rider设置(快捷键
Ctrl+Alt+S或File > Settings) - 导航到
Build, Execution, Deployment > Unit Testing - 勾选
Discover tests in test assemblies automatically选项 - 检查
Test frameworks列表,确保适配器对应的测试框架类型已启用
4. 手动触发测试发现与重建
- 在
Unit Tests窗口点击右上角的刷新按钮(🔄),强制重新扫描测试 - 如果仍无结果,执行
Build > Clean Solution,再执行Build > Rebuild Solution,确保测试项目和适配器的最新编译文件被加载
5. 排查加载异常
- 开启测试调试日志:
- 进入设置的
Build, Execution, Deployment > Logs页面 - 将
UnitTesting的日志级别设为Debug - 重启Rider并触发测试发现
- 打开日志目录(点击
Show in Explorer),搜索适配器名称或test discoverer关键词,查看是否有加载失败、依赖缺失等错误信息
- 进入设置的
6. 适配跨平台API
检查适配器代码中是否依赖Visual Studio专属的内部API(非Microsoft.VisualStudio.TestTools.UnitTesting下的公开API),这类API在Rider环境中可能无法正常工作,需替换为.NET测试平台的跨平台替代接口
内容的提问来源于stack exchange,提问作者Noctis Gui
相关产品推荐
相关产品推荐

