如何为 MAUI 混合应用程序创建单元测试?

问题描述 投票:0回答:1

我正在开发一个 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 项目(首先是否可能,如果不可能,哪种单元测试项目有效?)?

感谢您对此的任何帮助

c# .net maui xunit
1个回答
0
投票

请尝试以下步骤,

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示例代码单元测试教程

© www.soinside.com 2019 - 2024. All rights reserved.