gpt4 book ai didi

python - 我应该写一个 setter 来访问类变量进行测试吗?

转载 作者:行者123 更新时间:2023-11-28 21:35:40 24 4
gpt4 key购买 nike

我有 request_ticker_data 方法,它使用输入代码字符串通过 Yahoo Finance 请求数据。如果无法访问数据,它将代码附加到类变量 self.invalid 列表中。我还有一个 reset_invalid 方法可以将 invalid 重置为一个空列表。

我想为 reset_invalid 编写一个单元测试,但不确定我是否应该直接分配给 self.invalid 或仅出于测试目的编写一个 setter 方法。

最佳答案

我怀疑创建一个像 get_invalid_list() 这样的 getter 会更安全,它返回当前的无效列表。

这样一来,您就不会创建可用于不必要地更改类状态的内容。如果你用一个 setter 发送它,你可以保证,在某个时候,有人会使用那个 setter 来让你伤心:-) 另一方面,一个 getter 只会给他们数据,但不允许他们影响对象的状态。

要测试 setter/getter ,您可以调用:

obj.reset_invalid()
obj.request_ticker_data('xyzzy_plugh_twisty_zorkmids') # does *not* exist
x = obj.get_invalid_list()

然后您应该有一个包含该无效代码的列表。下一步是:

obj.reset_invalid()
x = obj.get_invalid_list()

这将导致返回一个 列表。这测试了针对无效代码发生的操作重置列表的能力。

关于python - 我应该写一个 setter 来访问类变量进行测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043354/

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