我将my project从.NETFramework 4.5.1迁移到.NET Standard 1.6
该项目正在使用MSTest框架,我现在想保持这种方式并避免在另一个框架(XUnit,NUnit等)中重写测试
目前只有MSTest framework support was announced for .NET Core,dotnet-test-mstest 1.1.2-preview
package available on NuGet很自然地不支持.NET Standard,所以我的测试项目不能以.NET Standard为目标
但是,根据compatibility matrix,.NET Standard 1.6与.NET Core 1.0兼容 所以我的测试程序集针对的是.NET Core 1.0,并引用了面向.NET Standard 1.6的我的测试系统 - 它运行得很好。
问题是 - 这是一个很好的决定吗?
我没有找到任何MSTest的路线图,我想知道当我迁移到.NET Standard 2.0时这个技巧是否仍然可行? 我是否应该将我的测试框架更改为其他具有更多最新支持的框架,例如XUnit?
即使是微软documentation points to XUnit,他们还在放弃MSTest吗?
请注意这个is not a duplicate,因为我的问题是关于未来的前景,而不仅仅是当前的事态。
答案 0 :(得分:6)
<强>&GT;&GT;该项目正在使用MSTest框架,我现在想保持这种方式并避免在另一个框架(XUnit,NUnit或te)中重写测试
听起来很合理。
<强>&GT;&GT;我的测试项目不能以.NET Standard为目标
你可以。
请参阅此帖子以供参考:https://blogs.msdn.microsoft.com/visualstudioalm/2016/11/29/evolving-the-test-platform-part-3-net-core-convergence-and-cross-plat/ 请注意,您不再需要dotnet-test-mstest软件包。请改用MSTest.TestAdapter。
<强>&GT;&GT;甚至Microsoft文档都指向XUnit
在这种情况下,是的。但是,还有其他项目也大量使用MSTest。
我们在MSTest测试框架和VS Test平台上工作。作为一个测试平台,我们采取多元化的方法,并希望将测试框架的选择留给开发人员(而不是支持任何一个框架)。您可以在此处详细了解此方法:https://blogs.msdn.microsoft.com/visualstudioalm/2016/07/25/evolving-the-visual-studio-test-platform-part-1/。
<强>&GT;&GT;他们放弃了MSTest吗?
完全没有。
请参见此处:https://blogs.msdn.microsoft.com/bharry/2017/01/20/open-sourcing-the-vs-test-platform/,并在此处:https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/13399980-make-ms-test-framework-opensouce了解前方的道路。我们将很快宣布更多 - 特别是在路线图方面。
<强>&GT;&GT;问题是 - 这是一个很好的决定吗?
是(基于以上所有内容)。