You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否针对Win UI 3类库中的类运行xUnit单元测试?

解决方案

你可以对该WinUI 3类库中的非UI类正常运行xUnit单元测试,报错的核心原因是测试项目的目标框架与WinUI 3类库的目标框架未完全匹配,按以下步骤调整即可:

步骤1:对齐测试项目目标框架

打开测试项目的.csproj文件,将<TargetFramework>节点的值修改为和WinUI 3类库完全一致的版本:

<TargetFramework>net5.0-windows10.0.19041</TargetFramework>

同时在同一个<PropertyGroup>节点下新增两个配置:

<UseWinUI>true</UseWinUI>
<WindowsPackageType>None</WindowsPackageType>

步骤2:匹配依赖版本

在测试项目中安装Microsoft.WindowsAppSDK NuGet包,版本要和你的WinUI 3类库使用的Windows App SDK版本完全一致。
另外确认测试项目已经包含xUnit运行必需的基础包:

  • xunit
  • xunit.runner.visualstudio
  • Microsoft.NET.Test.Sdk

步骤3:调整项目平台

WinUI 3不支持AnyCPU架构,打开Visual Studio的配置管理器,将测试项目和类库项目的目标平台统一设置为x64、x86或ARM64,不要使用AnyCPU。

额外说明

如果你要测试的是不涉及UI渲染、交互的纯业务逻辑类,调整完成后就可以直接编写常规xUnit测试用例,执行逻辑和普通.NET类库测试完全一致。如果需要测试UI控件的渲染、交互行为,则需要配合专门的UI自动化测试工具实现。

内容的提问来源于stack exchange,提问作者GarryP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:06:03