gpt4 book ai didi

python - 哪个更糟糕的设计 : sharing data between tests, 或每个测试的多个断言?

转载 作者:行者123 更新时间:2023-11-28 20:23:14 25 4
gpt4 key购买 nike

假设我正在测试我的代码,我设计了 5 个函数来完成 5 个不同的事情。 function_a() 返回的数据传递给 function_b()... 一直传递到 function_e()。见下文。

var1 = function_a()
var2 = function_b(var1)
...
var5 = function_e(var4)

因此,所有这些功能都相当相互依赖,并依赖于前一个功能的数据。

如何正确测试它?单个测试中的五个断言对我来说似乎是一种代码味道,但根据接受的答案 here在单独的测试之间传递数据(我认为这是必要的)有点代码味道。

最佳答案

从测试的角度来看,数据从一个函数传递到下一个函数这一事实是无关紧要的。在测试 function_a 时,您只需断言它返回预期值(大概基于某种状态)。因此,您将知道预期的返回值是多少。

单独测试 function_b 时,您只需将您希望从 function_a 返回的值传递给它,并验证它是否返回预期值。您还可以测试当您传递无效值时会发生什么(这在使用 function_a 的实际返回值进行测试时会很困难。

其他功能也一样。您应该将测试拆分并单独测试。按顺序调用的事实对每个函数单独没有影响。他们不知道他们的输入来自哪里

关于python - 哪个更糟糕的设计 : sharing data between tests, 或每个测试的多个断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375756/

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