我试图纠缠鼻子+覆盖范围。如果我有这个代码:
class Foobar(object):
def add(self, a, b):
return a + b
这个测试:
from unittest import TestCase
from foobar import Foobar
class FoobarTest(TestCase):
def test_good(self):
f = Foobar()
self.assertEquals(f.add(1,2), 3)
然后一切都很好看!
$ nosetests
.
Name Stmts Miss Cover Missing
-----------------------------------------
foobar.py 3 0 100%
----------------------------------------------------------------------
Ran 1 test in 0.018s
OK
但是如果我在源代码中添加一行
import requests
class Foobar(object):
def add(self, a, b):
return a + b
然后我在报告中得到了很多额外的东西
$ nosetests
.
Name Stmts Miss Cover Missing
--------------------------------------------------------------------------------------------------------
foobar.py 4 0 100%
requests.py 26 5 81% 54, 72-75
requests/adapters.py 180 134 26% 48, 51, 54, 89-102, 105, 111-117, 1
[snip]
那么我如何配置覆盖范围以说“不要在测量或报告属于我的virtualenv的任何内容 - 只需在我的工作目录下进行操作。”#34;我确定它与.coveragerc有关,但我在调用调配时遇到了一些麻烦。
答案 0 :(得分:3)
想出来。
1)摆脱任何与覆盖相关的ini文件
2)将此添加到" nose.cfg" 在您的主目录中的鼻子
[nosetests]
with-coverage=1 ; generate a coverage report (in the "cover" directory)
cover-package=. ; only report on coverage files in the current directory
cover-html=1 ; generate a pretty html report
cover-erase=1 ; re-generate coverage statistics on each run
当然,您必须确保您的测试文件与Nose正在寻找的testMatch模式匹配。