使用 FluentAssertions API 4.x 语法将 xunit 项目迁移到 运行 使用 FluentAssertions v5.x 版本
Migrating xunit project with FluentAssertions API 4.x syntax to run using FluentAssertions v5.x version
我知道 FluentAssertions v4.x to v5.x in Redefining equivalency 有重大变化
所以,我应该修改:
ShouldBeEquivalenTo ()
到
Should().BeEquivalentTo()
还有很多变化。
我有 xunit 测试项目目标 net45 并开始迁移到多目标 netcoreapp2.1 和 net45。(FluentAssertions v4.x 不支持 netcoreapp2.x)
该项目有许多使用 4.x 旧语法的测试用例,我想尽量减少测试项目中的更改并避免(如果可以的话)修改为新语法。
我的选择是:
首先:我应该手动修改测试用例以支持 v5.x
的新语法
其次:您可以建议作为替代方案。
你能告诉我最好的路径吗?
我确实使用了 Visual Studio 提供的 RegEx 搜索和替换来实现这一点。
此答案基于
的答案
我在 VS2017 中使用了 Find/Replace 正则表达式:
Find: Should(\w+)
Replace: Should().
此正则表达式替换表达式:
ShouldBeEquivalentTo, ShouldAllBeEquivalentTo,
ShouldThrow and ShouldNotThrow
我知道 FluentAssertions v4.x to v5.x in Redefining equivalency 有重大变化 所以,我应该修改:
ShouldBeEquivalenTo ()
到
Should().BeEquivalentTo()
还有很多变化。
我有 xunit 测试项目目标 net45 并开始迁移到多目标 netcoreapp2.1 和 net45。(FluentAssertions v4.x 不支持 netcoreapp2.x)
该项目有许多使用 4.x 旧语法的测试用例,我想尽量减少测试项目中的更改并避免(如果可以的话)修改为新语法。
我的选择是:
首先:我应该手动修改测试用例以支持 v5.x
的新语法其次:您可以建议作为替代方案。
你能告诉我最好的路径吗?
我确实使用了 Visual Studio 提供的 RegEx 搜索和替换来实现这一点。
此答案基于
我在 VS2017 中使用了 Find/Replace 正则表达式:
Find: Should(\w+)
Replace: Should().
此正则表达式替换表达式:
ShouldBeEquivalentTo, ShouldAllBeEquivalentTo,
ShouldThrow and ShouldNotThrow