从MSTest迁移到XUnit

从MSTest迁移到XUnit

问题描述:

我们正在考虑将我们的测试从MSTest迁移到XUnit。从MSTest迁移到XUnit

是否有任何需要MSTest并将其迁移到XUnit的迁移应用程序?

另外,如果没有,当我这样做时应该注意什么?

谢谢。 JD。 JD。

+0

多少?它有很大的帮助,因为在500个文件中进行5000次测试的建议将不同于

+0

目前只有500多个测试。 –

+0

如果不是sicret,移动的原因是什么? –

我最近搬了很多测试。这取决于你转换多少种类型的测试,以及你没有给自己提供细节。一般来说,我认为可以安全地假设你的平均MSTest意识的商店不会大规模地受到感染,因此也不会深入MSTest的每个黑暗角落。

所有的Assert.*方法和基本的测试属性都是简单的查找和替换。更为罕见的,我通常会逐个评估每个案例。除非你已经是一个xUnit.net专家,否则你有很多东西需要学习,这会对你有所帮助。

此外,使用Assert.Fail不是一个简单的转换。另一件事是TestClassInitialize到IUseFixture的转换 - 很简单,但很难自动化。

如果人们使用测试引用,您将无法删除对MSTest程序集的引用(并且您仍然需要在构建服务器上有VS),并且它将继续在影子上随机失败请参阅我的问题)。

对我来说最大的手工作业正在经历顶部的20线样板的区域,看是否有人实际使用任何自定义的删除之前的属性。

如果没有CodeRush模板,主要的工作是将ExpectedException转换为Assert.Throws。如果你没有在这项工作上使用CodeRush或ReSharper,你会从你的雇主那里偷钱。

+0

我们对大约200个文件进行了大约500次测试。我之前没有使用过XUnit,我只是看到了一些很好的评论,而且NUnit是由NUnit开发者创建的,我认为这将是一条路。由于我只写了一些测试,我没有所有其他测试的所有细节。 –

+2

@JD:xUnit.net绝对值得我的经验 - 它会让你写出更好,更短,更干净的测试。如果你阅读Osherove的书和xUnit测试模式,你会更赞赏其他框架。我在与团队的交流中也只有很好的经验(对于要求的反应是明智的,及时的等)。 500个测试是我所感动的领域。你对跑步者有什么计划? @其他:任何人都有移植经验/陷阱? –

+0

@Ruben。谢谢。这个想法是将测试纳入CruiseControl(msTest需要安装VS,我们不想这样做)。我们重新开发了我们的开发机器。我将在接下来的几周内肯定地看看xUnit。你能推荐任何好的教程/ vids等。再次感谢。 –

+1

@JD - 请注意,从Chaliy先生的链接清楚地表明,从MSTest转移到NUnit或MbUnit会更简单。如果您的主要目标是从MSTest迁移,那么这些可能是更好的选择。如果你同意xUnit.net的理念,不要紧。 :) – TrueWill

+0

@TrueWill:虽然我不会站在周围说“MSTest出了什么问题”,但我会看到NUnit或MbUnit作为横盘移动的举动 - 在一天结束时,MSTest几乎得到了一个一对一映射到NUnit,除了大量的MbUnit属性(如果你认为这是一个'增益'),你并没有获得太多的收益。 –

+0

谢谢你们, 正如我在下面提到的,我之前没有使用过xUnit,迁移500次测试可能是一项太多的任务。我现在将转向NUnit,然后希望新项目能够研究xUnit哲学。 –