草庐IT

python - 如果 py.test 从另一个目录执行它,coverage.py 不会覆盖脚本

我有一个python脚本,它接受命令行参数,处理一些文件。我正在使用py.test编写成功的测试,让这个脚本通过它的步伐,用subprocess.call执行它。现在我想用coverage.py分析代码覆盖率。覆盖率,当通过pytest-cov插件(内置子进程处理)使用时,在临时测试中调用它时看不到/覆盖我的脚本使用py.test的tmpdir固定装置创建的目录。Coverage确实看到我的脚本在它所在的目录中被调用(并且文件名参数指向远程路径)。在这两种情况下,我的测试都通过了!覆盖3.6、pytest-2.3.5、pytest-cov1.6,均来自PyPi。问题:即使脚本在另一个目

python - IOError : [Errno 22] invalid mode ('r' ) or filename: 'c:\\Python27\test.txt'

这个问题在这里已经有了答案:WindowspathinPython(5个回答)关闭8年前。以下有什么问题:test_file=open('c:\\Python27\test.txt','r') 最佳答案 \t是一个制表符。改用原始字符串:test_file=open(r'c:\Python27\test.txt','r')或双斜线:test_file=open('c:\\Python27\\test.txt','r')或使用正斜杠:test_file=open('c:/Python27/test.txt','r')

python - IOError : [Errno 22] invalid mode ('r' ) or filename: 'c:\\Python27\test.txt'

这个问题在这里已经有了答案:WindowspathinPython(5个回答)关闭8年前。以下有什么问题:test_file=open('c:\\Python27\test.txt','r') 最佳答案 \t是一个制表符。改用原始字符串:test_file=open(r'c:\Python27\test.txt','r')或双斜线:test_file=open('c:\\Python27\\test.txt','r')或使用正斜杠:test_file=open('c:/Python27/test.txt','r')

python - 测试代码是否从 py.test session 中执行

如果我的代码在py.test下运行,我想连接到不同的数据库。是否有可以调用的函数或可以测试的环境变量来告诉我是否在py.testsession下运行?处理这个问题的最佳方法是什么? 最佳答案 我想到了一个更简单的解决方案:importsysif"pytest"insys.modules:...Pytest运行程序将始终加载pytest模块,使其在sys.modules中可用。当然,此解决方案仅在您尝试测试的代码不使用pytest本身时才有效。 关于python-测试代码是否从py.tes

python - 测试代码是否从 py.test session 中执行

如果我的代码在py.test下运行,我想连接到不同的数据库。是否有可以调用的函数或可以测试的环境变量来告诉我是否在py.testsession下运行?处理这个问题的最佳方法是什么? 最佳答案 我想到了一个更简单的解决方案:importsysif"pytest"insys.modules:...Pytest运行程序将始终加载pytest模块,使其在sys.modules中可用。当然,此解决方案仅在您尝试测试的代码不使用pytest本身时才有效。 关于python-测试代码是否从py.tes

python - 在测试中创建和导入辅助函数,而不使用 py.test 在测试目录中创建包

问题如何在测试文件中导入辅助函数而不在test目录中创建包?上下文我想创建一个可以在多个测试中导入的测试辅助函数。说,像这样:#Incommon_file.pydefassert_a_general_property_between(x,y):#testaspecificrelationshipbetweenxandyassert...#Intest/my_test.pydeftest_something_with(x):some_value=some_function_of_(x)assert_a_general_property_between(x,some_value)使用Pyt

python - 在测试中创建和导入辅助函数,而不使用 py.test 在测试目录中创建包

问题如何在测试文件中导入辅助函数而不在test目录中创建包?上下文我想创建一个可以在多个测试中导入的测试辅助函数。说,像这样:#Incommon_file.pydefassert_a_general_property_between(x,y):#testaspecificrelationshipbetweenxandyassert...#Intest/my_test.pydeftest_something_with(x):some_value=some_function_of_(x)assert_a_general_property_between(x,some_value)使用Pyt

Python 单元测试 : Automatically Running the Debugger when a test fails

有没有办法在单元测试失败时自动启动调试器?目前我只是手动使用pdb.set_trace(),但这非常繁琐,因为我每次都需要添加它并在最后取出它。例如:importunittestclasstests(unittest.TestCase):defsetUp(self):passdeftest_trigger_pdb(self):#thisisthewayIdoitnowtry:assert1==0exceptAssertionError:importpdbpdb.set_trace()deftest_no_trigger(self):#thisisthewayIwouldliketodo

Python 单元测试 : Automatically Running the Debugger when a test fails

有没有办法在单元测试失败时自动启动调试器?目前我只是手动使用pdb.set_trace(),但这非常繁琐,因为我每次都需要添加它并在最后取出它。例如:importunittestclasstests(unittest.TestCase):defsetUp(self):passdeftest_trigger_pdb(self):#thisisthewayIdoitnowtry:assert1==0exceptAssertionError:importpdbpdb.set_trace()deftest_no_trigger(self):#thisisthewayIwouldliketodo

python - 在 py.test 中的每个测试之前和之后运行代码?

我想在我的测试套件中的每个测试之前和之后运行额外的设置和拆卸检查。我查看了固定装置,但不确定它们是否是正确的方法。我需要在每次测试之前运行设置代码,并且需要在每次测试之后运行拆卸检查。我的用例是检查没有正确清理的代码:它会留下临时文件。在我的设置中,我将检查文件,在拆解中我还将检查文件。如果有额外的文件,我希望测试失败。 最佳答案 py.test固定装置是实现您的目的的技术上足够的方法。你只需要像这样定义一个fixture:@pytest.fixture(autouse=True)defrun_around_tests():#Cod