我有一个文件test_pytest.py
def test_dummy():
assert 1 + 1 == 2
我可以在Spyder等IDE中的python控制台中运行pytest(我的用例是Blender但是行为对于嵌入式python控制台来说是通用的)
pytest.main(['-v','test_pytest.py'])
============================= test session starts ==============================
platform linux -- Python 3.5.2, pytest-2.9.2, py-1.4.31, pluggy-0.3.1 -- /home/elfnor/anaconda3/bin/python
cachedir: Documents/python/.cache
rootdir: /home/elfnor/Documents/python, inifile:
collecting ... collected 1 items
Documents/python/test_pytest.py::test_dummy PASSED
=========================== 1 passed in 0.01 seconds ===========================
然后我将另一个测试添加到test_pytest.py
,并保存文件。
def test_dummy():
assert 1 + 1 == 2
def test_another():
assert 2 + 2 == 4
然后重新运行pytest.main(['-v','test_pytest.py'])
但是pytest找不到新的测试。
我已经尝试重新加载pytest模块,但没有运气。如果我杀了控制台(在Spyder中),重新导入pytest并重新运行,就会找到新的测试。
我还没有找到一种方法来杀死Blender中的控制台(不杀死Blender)。在控制台中使用时,有不同的方法强制pytest查找新的测试吗?