Python代码覆盖率

时间:2013-04-17 15:45:02

标签: python nose coverage.py python-coverage

coverage 3.4
Nose 1.1.2
Python 2.7.1

我有一个类似下面的python项目结构

root
   src #source directory
      company
          division
              pkg1
                  module1
                  module2
              pkg2
                  module1
                  module2
   test #All test files
       company
           division
              pkg1
                  test_module1
                  test_module2

当我运行python nose时,我使用以下代码段

#Run tests
#Add dependencies like cheetah, yaml, etc to the sys.path
if __name__ == "__main__":
    os.environ["NOSE_INCLUDE_EXE"] = "1"
    os.environ["NOSE_WITH_XUNIT"] = "1"
    os.environ["NOSE_WITH_COVERAGE"] = "1"
    os.environ["NOSE_COVER_PACKAGE"] = "company.division"
    nose.main()

我的期望是我得到了“company.division”下所有包的清晰简洁的输出,但是我从猎豹,yaml和他们的报道获得了我根本不感兴趣的文件。设置NOSE_COVER_PACKAGE似乎没有任何区别。有人能告诉我我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

OP报告升级到鼻子1.3和覆盖率3.6修复此问题。

请参阅此错误修复以供参考: https://github.com/Bahus/nose/commit/ddb14f0228ca94ae33d9e67785dc06bf412603f2