使用FluentAssertions API 4.x语法迁移xunit项目以使用FluentAssertions v5.x版本运行

时间:2019-01-09 17:25:21

标签: c# xunit fluent-assertions

我知道FluentAssertions中的Redefining equivalency v4.x到v5.x发生了重大变化 所以,我应该修改:

        ShouldBeEquivalenTo ()

         Should().BeEquivalentTo()

还有很多变化。

我有xunit测试项目目标net45,并开始迁移到多目标netcoreapp2.1和net45。(FluentAssertions v4.x不支持netcoreapp2.x)

该项目有许多使用旧版4.x语法的测试用例,我想最大程度地减少测试项目中的更改并避免(如果可以的话)修改为新语法。

我的选择是:

首先:我应该手动修改测试用例以支持v5.x的新语法

第二:您可能会建议替代。

您能建议我走最好的路吗?

2 个答案:

答案 0 :(得分:3)

我实际上是使用Visual Studio提供的RegEx搜索和替换来实现这一目标的。

答案 1 :(得分:1)

此答案基于@Dennis Doomen

的答案

我在VS2017中使用了查找/替换正则表达式:

   Find:  Should(\w+)
   Replace: Should().$1

此正则表达式替换表达式:

ShouldBeEquivalentTo, ShouldAllBeEquivalentTo, ShouldThrow and ShouldNotThrow