我正在开发一个 MAUI 混合应用程序,我想为其添加单元测试。起初它是一个普通的 MAUI 应用程序。我能够为其创建一个 xUnit 测试项目。 csproj 看起来像这样:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
....
现在将此类项目用于 MAUI 混合应用程序不起作用:
项目与net8.0(.NETCoreApp,版本=v8.0)不兼容。 项目支持:
- net8.0-android34.0(.NETCoreApp,版本=v8.0)
- net8.0-ios17.5(.NETCoreApp,版本=v8.0)
- net8.0-maccatalyst17.5(.NETCoreApp,版本=v8.0)
- net8.0-windows10.0.19041(.NETCoreApp,版本=v8.0)
项目目标 'net8.0-android;net8.0-ios;net8.0-maccatalyst;net8.0-windows10.0.19041.0'。它不能被目标项目引用 '.NETCoreApp,版本=v8.0'
不幸的是,没有关于 MAUI 混合项目的信息,只有常规 MAUI 项目,所以我没有找到指导。
-> 如何为 MAUI Hybrid 创建 xUnit 项目(首先是否可能,如果不可能,哪种单元测试项目有效?)?
感谢您对此的任何帮助
请尝试以下步骤,
1.更改您的MAUI csproj,将
net8.0
添加到TargetFrameworks
<PropertyGroup>
<TargetFrameworks>net8.0;net8.0-android;net8.0-ios;net8.0-maccatalyst</TargetFrameworks>
2.仍在MAUI csproj:
更换
<OutputType>Exe</OutputType>
与
<OutputType Condition="'$(TargetFramework)' != 'net8.0'">Exe</OutputType>
更多信息,您可以参考MauixUnitTestSample示例代码和单元测试教程。