我正在将我的项目从.NETFramework 4.5.1 迁移到.NET Standard 1.6
该项目正在使用MSTest框架,我现在想保持这种方式并避免在另一个框架(XUnit,NUnit等)中重写测试
目前,仅针对.NET Core宣布了MSTest框架支持,并且很自然地dotnet-test-mstest 1.1.2-preview
,NuGet上提供的软件包不支持.NET Standard,因此我不能让我的测试项目以.NET Standard为目标
但是,根据兼容性矩阵,.NET Standard 1.6与.NET Core 1.0兼容.
所以我的测试程序集针对.NET Core 1.0并引用了我的面向.NET Standard 1.6的测试系统 - 它运行得很好.
问题是 - 这是一个很好的决定吗?
我还没有找到任何MSTest的路线图,我想知道当我迁移到.NET Standard 2.0时这个技巧是否仍然可行?
我应该将我的测试框架更改为其他具有更多最新支持的测试框架,例如XUnit吗?
即使Microsoft 文档指向 XUnit,他们是否放弃了MSTest?
请注意,这不是重复,因为我的问题是关于未来的前景,而不仅仅是当前的事态.
>>该项目正在使用MSTest框架,我现在想保持这种方式并避免在另一个框架中重写测试(XUnit,NUnit或te)
听起来很合理.
>>我不能让我的测试项目以.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.
>>甚至Microsoft文档都指向XUnit
在这种情况下,是的.但是,还有其他项目也大量使用MSTest.
我们在MSTest测试框架和VS Test平台上工作.作为一个测试平台,我们采取多元化的方法,并希望将测试框架的选择留给开发人员(而不是支持任何一个框架).您可以在此处阅读有关此方法的更多信息:https://blogs.msdn.microsoft.com/visualstudioalm/2016/07/25/evolving-the-visual-studio-test-platform-part-1/.
>>他们放弃了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可以瞥见前方的道路.我们将很快宣布更多 - 特别是在路线图方面.
>>问题是 - 这是一个很好的决定吗?
是的(基于以上所有).