我使用pip安装了pytest-django
并制作了一个测试文件,该文件根据docs使用了client
灯具,但运行此文件会给我fixture 'client' not found
。这是我的test_homepage.py
:
import pytest
@pytest.mark.django_db
def test_homepage(client):
response = client.get('/')
assert response.status_code == 200
答案 0 :(得分:4)
您确定已安装pytest-django
吗?我在我的机器上安装了pip install pytest-django
并运行了一个简单的项目。
platform linux -- Python 3.4.3 -- py-1.4.30 -- pytest-2.7.2
rootdir: /home/matt/projects/test_app/src, inifile: pytest.ini
plugins: django
collected 1 items
tests/test_example.py .
设置并运行我的样本测试:
import pytest
@pytest.mark.django_db
def test_something(client):
response = client.get('/')
assert response.status_code == 200
示例代码:
pip uninstall pytest-django
请注意列出的插件和代码可以正常工作。
为了测试而卸载我要删除py.test
再次运行测试platform linux -- Python 3.4.3 -- py-1.4.30 -- pytest-2.7.2
rootdir: /home/matt/projects/test_app/src, inifile: pytest.ini
collected 1 items
tests/test_example.py E
==================================== ERRORS ====================================
_______________________ ERROR at setup of test_something _______________________
file /home/matt/projects/test_app/src/tests/test_example.py, line 3
@pytest.mark.django_db
def test_something(client):
fixture 'client' not found
available fixtures: tmpdir, pytestconfig, recwarn, capsys, capfd, monkeypatch
use 'py.test --fixtures [testpath]' for help on them.
pytest
现在我们可以看到您在项目中说明的相同错误。
所以,如果我是你,我会从您的环境中完全删除pytest-django
和pytest-django
,然后重新安装。看起来好像没有安装py.test --traceconfig
或者由于某种原因没有检测到插件。
如果这无助于解决项目,那么您的另一个选择是运行template <typename T>
std::tuple<std::vector<T>, T, T> f() {
std::vector<T> p(1000);
return std::make_tuple(std::move(p), 10, 10);
}
,这将为您提供更详细的运行流程输出。然后执行此操作,然后将输出添加到您的问题中。