Python : 是使用跳过测试的覆盖率
Python : is coverage using skipped test
这是一个测试:
@skip("my test is skipped")
def test_coverage():
my_function()
我的问题很简单:
如果我 运行 我的覆盖范围,my_function
是否会覆盖(考虑到我的测试被跳过)?
谢谢!
不执行跳过的测试。根据定义,未执行的代码不包括在内。
演示;给定一个 coverage_demo
模块:
def foo():
var = "This function has is covered"
def bar():
var = "This function is not"
和一个 coverage_demo_tests.py
文件:
from unittest import TestCase, skip
import coverage_demo
class DemoTests(TestCase):
def test_foo(self):
coverage_demo.foo()
@skip("No bar for us today")
def test_bar(self):
import coverage_demo
coverage_demo.bar()
if __name__ == '__main__':
import unittest
unittest.main()
运行 这个覆盖率表明 coverage_demo
中的第 5 行没有被执行:
$ coverage run coverage_demo_tests.py
s.
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK (skipped=1)
$ coverage report --include=coverage_demo\.py -m
Name Stmts Miss Cover Missing
------------------------------------------------
coverage_demo.py 4 1 75% 5
顶层的def
语句总是被执行,但是第5行是bar()
函数中唯一的一行。
这是一个测试:
@skip("my test is skipped")
def test_coverage():
my_function()
我的问题很简单:
如果我 运行 我的覆盖范围,my_function
是否会覆盖(考虑到我的测试被跳过)?
谢谢!
不执行跳过的测试。根据定义,未执行的代码不包括在内。
演示;给定一个 coverage_demo
模块:
def foo():
var = "This function has is covered"
def bar():
var = "This function is not"
和一个 coverage_demo_tests.py
文件:
from unittest import TestCase, skip
import coverage_demo
class DemoTests(TestCase):
def test_foo(self):
coverage_demo.foo()
@skip("No bar for us today")
def test_bar(self):
import coverage_demo
coverage_demo.bar()
if __name__ == '__main__':
import unittest
unittest.main()
运行 这个覆盖率表明 coverage_demo
中的第 5 行没有被执行:
$ coverage run coverage_demo_tests.py
s.
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK (skipped=1)
$ coverage report --include=coverage_demo\.py -m
Name Stmts Miss Cover Missing
------------------------------------------------
coverage_demo.py 4 1 75% 5
顶层的def
语句总是被执行,但是第5行是bar()
函数中唯一的一行。