首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSTest +多框架目标=悲伤

MSTest +多框架目标=悲伤
EN

Stack Overflow用户
提问于 2020-01-12 23:39:20
回答 1查看 236关注 0票数 1

我有一些MSTest项目需要同时针对netcoreapp1.1以及一些更新的东西,比如netcoreapp3.0

我已经尝试了其中的大部分建议:

https://www.meziantou.net/mstest-v2-testing-against-multiple-frameworks.htm

How to properly unit test a .NET project with multiple target frameworks, given implementation differences among targets?

https://developercommunity.visualstudio.com/content/problem/215235/test-container-not-found-when-trying-to-run-tests.html

然而,我的结果总是:

  • dotnet test只运行netcoreapp3.0目标。没有一个netcorapp1.1netcoreapp2.0被捕获,
  • VS2019运行的测试目标为零,并与错误:

崩溃。

代码语言:javascript
复制
StreamJsonRpc.RemoteInvocationException: The following TestContainer was not found 'C:\Projects\fact\collection\src\Fact.Extensions.Collection.Tests\bin\Debug\netcoreapp1.1\Fact.Extensions.Collection.Tests.dll'
   at StreamJsonRpc.JsonRpc.<InvokeCoreAsync>d__96`1.MoveNext()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-12 23:39:20

在编写这个问题时,我推断最新的Microsoft.NET.Test.Sdk (编写本文时为16.4.0)可能与以前的框架不兼容。我对这两种理论都进行了测试:

ItemGroup+PackageReference

  • Rolling的
  • 有条件地指定netcoreapp1.115.3.0返回到netcoreapp2.0目标之一

16.3.0

在这样做后:

  • dotnet test几乎找到了所有东西,但仍然没有找到16.3.0 + netcoreapp2.0目标。这似乎是通过进一步退到16.2.0来纠正的,因为Microsoft.TestPlafrom.TestHost 16.3.0有一个netcoreapp2.1,仍然有投诉,但是能够找到15.3.016.3.0 Microsoft.NET.Test.Sdk推荐的项目

这与Bruno Garcia在developercommunity链接中的发现是一致的。我不认为回滚一个解决方案,而是考虑一个解决办法。通过使用条件通过TargetFramework进行过滤,我觉得这个解决方案更好一些。

更有帮助的是Visual发出的更多警告,即版本依赖问题确实导致了问题。如果你仔细观察的话,dotnet test确实在这个领域给出了一些反馈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59709081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档