如何在 xunit 中运行略有不同的测试类版本



我正在集成测试一个 ASP.NET Core API应用程序,其中客户端可以通过两个不同的路由访问相同的资源(出于向后兼容性的原因(。

我有一个测试类,大约有 40 个测试。

如何运行两次测试,一次使用路由 A,一次使用路由 B?像[Theory],但在班级层面。

我的替代方案是用以下方法装饰每种方法:

[Theory]
[InlineData("/routeA")]
[InlineData("/routeB")]

标记类抽象,然后添加 2 个从它派生的具体类是一种常见模式(或者添加一个派生自它的新类;基类测试也将为它运行,但通常你会有一个抽象成员,可以诱导你寻求的方差(

使用MemeberDataClassData。 请参阅本文中的此示例。

最新更新