创建DailyData类时的错误排查?Python单元测试问题求助
DailyData类单元测试失败的原因与修复
你的DailyData类测试全失败的核心问题是构造函数没有正确使用传入的参数初始化实例属性:
在DailyData的__init__方法中,你把所有属性都硬编码赋值为0,完全忽略了传入的date、close、volume参数,导致创建实例后,属性值始终是0,和单元测试预期的传入值不匹配。
修复后的DailyData类代码
class DailyData: def __init__(self, date, close, volume): self.date = date self.close = close self.volume = volume
额外提示:Stock类的潜在问题
虽然你的Stock类通过了测试,但它的构造函数同样存在参数未正确赋值的问题——你把symbol、name、shares都初始化为0,测试能通过是因为后续手动修改了这些属性。如果要让Stock类的构造逻辑更合理,也应该改成用传入的参数初始化:
class Stock: def __init__(self, symbol, name, shares): self.symbol = symbol self.name = name self.shares = shares self.DataList = [] def add_data(self,stock_data): self.DataList.append(stock_data)
修复后重新运行单元测试,所有测试应该都能通过。
内容的提问来源于stack exchange,提问作者Kat
相关产品推荐
相关产品推荐

