首页 > 解决方案 > 在 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})

标签: python

解决方案


推荐阅读