python - 使用 pytest 进行单元测试
问题描述
定义一个 pytest 测试方法 'test_add_new_stock_as_dict',将新库存 {'iPhone Model X':50, 'Xiaomi Model Y': 2000, 'Nokia Model A':10} 添加到现有库存中,并更新 balance_inventory 属性。另外,检查更新后的 balance_inventory 是否等于 {'iPhone Model X':150, 'Xiaomi Model Y': 3000, 'Nokia Model Z':25, 'Nokia Model A':10}。
我写了这段代码:
def test_add_new_stock_as_dict(self):
self.inventory({'iPhone Model X': 50, 'Xiaomi Model Y': 2000, 'Nokia Model A': 10})
assert self.inventory.balance_inventory == {'iPhone Model X': 150, 'Xiaomi Model Y': 3000, 'Nokia Model Z': 25, 'Nokia Model A': 10}
但我收到一个错误:
TypeError: 'MobileInventory' object is not callable
我的错误在哪里,请提出建议。
解决方案
您必须创建一个实例“库存”作为
def setup_class():
inventory=MobileInventory({'iPhone Model X':100, 'Xiaomi Model Y': 1000, 'Nokia
Model Z':25})
推荐阅读
- python-3.x - Python:3 - 在找到关键字后将字符串设为变量?
- kentico - 如何在 Kentico 中用文档名称设置页面标题?
- html - 如何用css取消一个项目
- authentication - 是否可以使用与 apiserver 请求关联的“额外”属性来使用 RBAC 做出授权决策?
- java - 使用 MediaPlayer 时,显示“E/ExtMediaPlayer-JNI: env->IsInstanceOf failed”错误。如何解决?
- java - 如何使用值从 HashMap 中删除键
- php - WooCommerce 自定义字段未显示在电子邮件或订单信息中
- node.js - 生成网页的 PDF
- yii2 - yii2,将现有的 unix 值转换为查询中的时间戳
- mysql - 使用 sequelize 连接到 aws rds 时连接被拒绝