【问题标题】:MSB4019 Run Xamarin Android Unit Tests using Github ActionsMSB4019 使用 Github 操作运行 Xamarin Android 单元测试
【发布时间】:2020-06-09 10:18:55
【问题描述】:

需要使用 Github Actions 运行 Xamarin.Android 特定的单元测试。一切正常,但是当我尝试dotnet test 时出现以下错误:

错误 MSB4019:未找到导入的项目“C:\Program Files\dotnet\sdk\3.1.300\Xamarin\Android\Xamarin.Android.CSharp.targets”。确认导入声明“C:\Program Files\dotnet\sdk\3.1.300\Xamarin\Android\Xamarin.Android.CSharp.targets”中的表达式正确,并且该文件存在于磁盘上。

我的脚本是:

 - name: UnitTests.Droid
      run: |
        dotnet restore
        nuget restore
        cd MobileAccess.UnitTests.Droid
        msbuild MobileAccess.UnitTests.Droid.csproj /verbosity:normal /t:Rebuild /p:Configuration=Release
        dotnet test

附:不影响 Android 的特定于解决方案的单元测试可以正常运行

【问题讨论】:

  • dotnet 命令仅适用于当今的 .NET Core 项目(.NET 5 将改变这一点),因此请运行实际的命令行测试工具。 stackoverflow.com/questions/37792674/…
  • @Lex Li 我不明白我应该写什么而不是 dotnet test 因为我是新人。 XUnit 就我而言

标签: shell unit-testing xamarin.android mono github-actions


【解决方案1】:

能够使用以下方法在 xamarin 中运行特定于 droid 的单元测试:

 运行:windows-latest
    脚步:
    - 使用:actions/checkout@v1
    - 使用:nuget/setup-nuget@v1
    - 使用:microsoft/setup-msbuild@v1.0.0
    - 名称:UnitTests.Droid
      运行:|
        nuget 恢复
        cd YourDroidUnitTestsCsprojDirectory
        msbuild YourDroidUnitTestsCsproj.csproj /verbosity:normal /t:Rebuild /p:Configuration=Release

    - 名称:安装程序 VSTest.exe
      用途:Malcolmnixon/Setup-VSTest@v3

    - 名称:VSTest
      运行:|
        cd YourDroidUnitTestsDirectory
        光盘盒
        光盘发行
        cd netcoreapp3.0
        ls
        vstest.console MobileAccess.UnitTests.Droid.dll

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 2021-05-16
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2013-11-22
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多