繁体   English   中英

如何使用 Travis-CI 运行 .NET Framework 4.7 的单元测试?

[英]How do I run Unit Tests for .NET Framework 4.7 with Travis-CI?

我尝试在Travis-CI 中为我的项目运行测试。 我的项目结构如下:

.
|-- src (.NET Framework 4.7 class library)
|-- test (.NET Core 3.1 unit test project using MSTest)

我无法将./src的项目./src为 .NET core。

我的.travis.yml看起来像这样:

language: csharp
mono: none
dotnet: 3.1.200
before_install: cd test
script:
  - dotnet restore
#  - dotnet add package Microsoft.NETFramework.ReferenceAssemblies.net47 --version 1.0.0
  - dotnet test /p:CollectCoverage=true

script的第二行是我尝试过的,但没有帮助。

如果有人能引导我找到解决方案,那就太好了。 或者告诉我这不起作用。

所以过了很长一段时间,我让它工作了。

.travis.yml必须如下所示:

language: csharp
mono: latest
dotnet: 3.1.200
before_install:
  - cd src
script:
  - dotnet restore
  - msbuild
  - dotnet test ../tests/bin/Debug/netcoreapp3.1/tests.dll

解释:

  • 我们需要 .Net Core 来构建tests .NET Core 项目和 Mono 来构建src .NET 4.7 项目。
  • 不能使用dotnet build来构建 .NET 4.7 项目,而必须使用 Mono 的msbuild命令。
  • dotnet test命令仅在提供了tests.dll的路径时才有效

补充说明:

  • Mono 安装需要大量时间(约 7 分钟),这使得构建速度变慢。 也许值得研究一下使用 mono docker 容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM