小编MBa*_*ann的帖子

使用模块共享夹具运行pytest单元测试的PyDev失败

我在使用pyDev运行pytest单元测试时遇到问题.我尝试使用模块共享夹具和终结器进行单元测试,在最后一次测试后应该将其推迟.但是当在pyDev中运行单元测试时,它不使用相同的实例,而是创建两个不同的实例.该示例在控制台中运行正常,或者从pydev中的脚本启动时运行正常.

我在Win7上使用平台Python 2.7.3,pytest-2.3.4,pyDev 2.7.3.2013031601,Eclipse 4.2.

我在http://pytest.org/latest/fixture.html上尝试了这个例子

pydev的输出是:

============================= test session starts ==============================
platform win32 -- Python 2.7.3 -- pytest-2.3.4
__________________________________ test_ehlo ___________________________________
smtp = <smtplib.SMTP instance at 0x027F9080>
__________________________________ test_noop ___________________________________
smtp = <smtplib.SMTP instance at 0x027FF3C8>
Run Code Online (Sandbox Code Playgroud)

控制台输出是:

============================= test session starts ==============================
platform win32 -- Python 2.7.3 -- pytest-2.3.4
__________________________________ test_ehlo ___________________________________
smtp = <smtplib.SMTP instance at 0x01E51288>
__________________________________ test_noop ___________________________________
smtp = <smtplib.SMTP instance at 0x01E51288>
Run Code Online (Sandbox Code Playgroud)

这是预期的行为.我究竟做错了什么??

使用的代码是conftest.py:

import pytest
import smtplib

@pytest.fixture(scope="module")
def smtp():
return …
Run Code Online (Sandbox Code Playgroud)

python unit-testing pydev pytest

13
推荐指数
1
解决办法
2585
查看次数

标签 统计

pydev ×1

pytest ×1

python ×1

unit-testing ×1