使用assertRaises的Django测试未能意识到引发的异常是预期的异常

2024-09-30 20:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的测试代码片段

with self.assertRaises(models.NotEnoughInventorySpace):
    self.inv2.add_item(self.item2, 1)

测试失败:

^{pr2}$

我不明白为什么引发的异常与我传递给assertRaises的异常不同

我使用manage.py test game运行代码,并使用models.py文件旁边的tests.py文件。在

我对这个问题的研究表明,导入可能有问题(即main文件与导入的同一文件不同)。但是,我使用标准方法来运行unittest,所以我不明白为什么只有我才有这个问题,当然其他人也使用了assertRaises和Django!在


Tags: 文件pytestselfaddmanagemodelswith
1条回答
网友
1楼 · 发布于 2024-09-30 20:20:27

问题不在于assertRaises,问题是异常类在产品代码中的导入方式与在测试代码中的导入方式不同。在

再检查一下你的进口货。在这两种情况下,请确保名称是从同一模块导入的。在Django项目中,同一个模块通常可以通过不同的名称导入,例如,因为可以从Python路径中的两个条目访问目录。在

相关问题 更多 >