找出哪些特定的测试调用了某些功能?

时间:2018-09-29 22:12:56

标签: python unit-testing introspection

我有一些非常脆弱的代码要重构。单独进行单元测试不是一件容易的事,因为它可以与数据库查询和Django表单数据进行交互。

这本身并不重要。我已经进行了广泛的测试,这些测试除其他外最终导致调用此函数并检查结果是否符合预期。但是我完整的测试套件大约需要5分钟,而且我也不想在解决此问题时不得不解决其他未解决的问题。

我想做的是在所有测试中运行nosetestsnose2,跟踪所有调用目标函数的test_xxx.py文件,然后在测试期间限制我的测试仅重构测试文件的那个子集。

我计划使用inspect.stack()来执行此操作,但我想知道是否存在现有的插件,或者是否有人曾经做过。如果没有,我打算发表我想出的一切,也许以后会有用。

1 个答案:

答案 0 :(得分:1)

您可以简单地在函数中raise发生一些异常,然后运行一次。所有失败的测试都会调用您的函数。