我如何 运行 使用 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
中的项目更改为 .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 容器。
我尝试 运行 在 Travis-CI 中对我的项目进行测试。我的项目结构如下:
.
|-- src (.NET Framework 4.7 class library)
|-- test (.NET Core 3.1 unit test project using MSTest)
我无法将 ./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 容器。