gpt4 book ai didi

pact - 我应该测试契约(Contract)中的所有枚举值吗?

转载 作者:行者123 更新时间:2023-12-04 11:21:39 25 4
gpt4 key购买 nike

我对是否应该考虑某种类型的测试功能或契约(Contract)有疑问。

假设我有一个像/getToolType 这样的 API,它接受一个 {object""myObject"} 作为输入,并以 {type: "[a-z]+"} 的形式返回 type

客户端和服务器之间一致认为返回的类型将匹配一组字符串,比如 [hammer|knife|screwdriver],所以消费者决定在枚举中解析它们,当返回的类型未知时使用回退值。

消费者是否应该为每种类型(锤子、刀子、 Screwdriver )包含一个测试用例,以确保生产者仍然遵守它总是返回的协议(protocol),例如,当使用锤子对象调用/getToolType 时,小写字符串“hammer” ?
或者你会认为这样的测试用例是功能性的吗?为什么?

最佳答案

IMO 的简短回答是“不”。

契约测试对结构更感兴趣,如果我们开始对 API 进行边界测试,我们将进入功能测试 [1] 领域,最好在提供者代码库中完成。您可以使用匹配器来确保仅返回这三个值中的一个,这应确保 Provider 构建不能返回其他值。

我会回应@J_A_X 的评论——没有正确或错误的答案,只是要小心测试输入/输出数据的所有排列。

[1] https://docs.pact.io/best_practices/contract_tests_not_functional_tests.html

关于pact - 我应该测试契约(Contract)中的所有枚举值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43089653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com