4

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

是否有任何迁移应用程序接受 MSTest 并将其迁移到 XUnit?

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

谢谢。京东。

4

2 回答 2

3

我最近移动了很多测试。这取决于您要转换的测试数量和类型,并且您不会因为向我们提供详细信息而自杀。一般来说,我认为可以安全地假设您的普通 MSTest 思想商店不会被大规模测试感染,因此不会深入研究 MSTest 的每个黑暗角落。

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

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

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

对我来说,最大的手动工作是检查顶部区域中的 20 行样板代码,以查看是否有人在删除它们之前实际使用了任何自定义属性。

如果没有 CodeRush 模板,主要的工作就是转换ExpectedExceptionAssert.Throws. 如果您在这份工作中没有使用 CodeRush 或 ReSharper,那么您就是在从您的雇主那里偷钱。

于 2009-11-18T09:14:27.753 回答
1

考虑比较 MSTest 和 xUnit

于 2009-11-17T16:45:41.723 回答