测试断言REST API最佳实践

时间:2016-09-21 03:29:14

标签: rest automated-tests asp.net-web-api2

我们正在进行API测试自动化,并希望就有关主张响应的最佳做法提出建议

问题陈述

我们有一个API / Orders / {ID},它基本上给出了给定订单的详细信息,现在状态代码总是200表示成功,但响应可能有不同类型订单的额外值,而对于其他订单,它将为null ,例如:Discount属性可以为null,它可以是十进制值,具体取决于我们发送的输入有效负载。

目前,我们添加了不同输入的CSV文件,并使用TT文件生成具有不同输入的测试方法,并且没有问题,并且每种类型都有不同的断言语句,因此我们创建了不同的AssertValidator类和将具有公共属性检查的基类,并且每个指定将检查额外属性并创建一个工厂类,该工厂类将具有所有验证器类的实例,并将根据输入选择正确的属性

我想知道这种可扩展的方法还是有一个额外的列,我可以用JSON的形式设置每个条目的预期属性,并相应地生成断言语句。

哪个更具可扩展性和可维护性?

另外请建议是否有更好的方法

1 个答案:

答案 0 :(得分:0)

如果在你的情况下这是可行的,我也会去传递预期的结果,因为我认为它的扩展速度更快。拥有AssertValidator的工厂以及所有适用于生产代码的工厂,但鉴于这些是测试,更容易在测试用例中添加一个具有一些输入和期望值的新行,而不是添加新的AssertValidator。