testLoader.discover中top_level_dir的用途是什么?

时间:2017-09-24 12:22:18

标签: python unit-testing module python-import python-unittest

根据documentation for unittest.TestLoader.discover

  

discover(start_dir, pattern=’test*.py’, top_level_dir=None)

     

...所有测试模块必须可以从顶层导入   项目。如果开始目录不是顶级目录那么   顶级目录必须单独指定...

我自己做了一些实验,似乎当top_level_dirstart_dir不同且未设置时,没有出错:所有测试都被发现并且正确进口。

我想知道将top_level_dir参数传递给discover的目的是什么。为什么需要知道顶级目录是什么?我认为它的所有工作都是(i)在start_dir中找到测试包/模块,以及(ii)导入它们,不是吗?

或者,有人可以提供一个示例,其中缺少top_level_dir会导致测试发现至少部分失败吗?

0 个答案:

没有答案