python - 在 pytest 中找不到夹具自身
问题描述
我正在浏览以下链接中的帖子: 如何将类实例分配给变量并在其他类中使用它
我正在使用相同的代码,主代码和 TestInventoryCreation() 测试类工作正常。但是,当我添加 TestInventoryAddstock() 类时,出现“未找到夹具自身”错误。
我的测试课如下:
class TestInventoryAddStock():inventory = None
@classmethod
def setup_class(cls):
cls.inventory = MobileInventory({'iPhone Model X': 100, 'Xiaomi Model Y': 1000, 'Nokia Model Z':25})
def test_add_new_stock_as_dict(self):
self.inventory.add_stock({'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}
def test_add_new_stock_as_list(self):
with pytest.raises(TypeError) :
MobileInventory.add_stock(['iPhone Model X', 'Xiaomi Model Y', 'Nokia Model Z'])
def test_add_new_stock_with_numeric_keys(self):
with pytest.raises(ValueError):
MobileInventory.add_stock({1:'iPhone Model A', 2:'Xiaomi Model B', 3:'Nokia Model C'})
def test_add_new_stock_with_nonnumeric_values(self):
with pytest.raises(ValueError):
MobileInventory.add_stock({'iPhone Model A':'50', 'Xiaomi Model B': '2000', 'Nokia ModelC':'25'})
def test_add_new_stock_with_float_values(self):
with pytest.raises(ValueError):
MobileInventory.add_stock({'iPhone Model A':50.5, 'Xiaomi Model B':2000.3, 'Nokia Model C':25})
解决方案
推荐阅读
- sql - SQLZoo 诺贝尔测验 #3 — 这些语句之间有什么区别?
- javascript - 如何使用 JSDoc 记录返回具有公共方法的对象的工厂函数?
- python - 对 Pandas 系列中的时间序列数据进行反累积
- wordpress - 简码导致白屏死机并破坏了我的 wordpress 网站
- java - StringIndexer NumberFormatException 值在列中不可见
- c# - AspNet Core WebApi 在启动时失败并出现错误 System.Collections.Generic.KeyNotFoundException
- react-native - 无法下载任何源列表!(node.js v10.7.0 | yarn 1.7.0 | react-native: 0.56.0 | Windows 10)
- azure - App Insights Workbooks - 是否可以更改堆叠列的顺序?
- google-chrome - 使用表格页眉和页脚时,为什么在 Chrome 中打印具有列数的内容会被替换?
- node.js - nodejs - 将查询结果导出到其他文件