我正在集成测试一个 ASP.NET Core API应用程序,其中客户端可以通过两个不同的路由访问相同的资源(出于向后兼容性的原因(。
我有一个测试类,大约有 40 个测试。
如何运行两次测试,一次使用路由 A,一次使用路由 B?像[Theory]
,但在班级层面。
我的替代方案是用以下方法装饰每种方法:
[Theory]
[InlineData("/routeA")]
[InlineData("/routeB")]
标记类抽象,然后添加 2 个从它派生的具体类是一种常见模式(或者添加一个派生自它的新类;基类测试也将为它运行,但通常你会有一个抽象成员,可以诱导你寻求的方差(
使用MemeberData
或ClassData
。 请参阅本文中的此示例。