falcon, AttributeError: 'API' object has no attribute 'create'
falcon, AttributeError: 'API' object has no attribute 'create'
我正在尝试测试我的猎鹰路线,但测试总是失败,看起来我做对了一切。
我的app.py
import falcon
from resources.static import StaticResource
api = falcon.API()
api.add_route('/', StaticResource())
和我的测试目录tests/static.py
from falcon import testing
import pytest
from app import api
@pytest.fixture(scope='module')
def client():
# Assume the hypothetical `myapp` package has a
# function called `create()` to initialize and
# return a `falcon.API` instance.
return testing.TestClient(api.create())
def test_get_message(client):
result = client.simulate_get('/')
assert result.status_code == 200
请帮忙,为什么我得到 AttributeError: 'API' object has no attribute 'create'
错误?谢谢。
您在 app.py
.
中缺少 假设的 create()
函数
您的 app.py
应如下所示:
import falcon
from resources.static import StaticResource
def create():
api = falcon.API()
api.add_route('/', StaticResource())
return api
api = create()
那么在您的 tests/static.py
中应该如下所示:
from falcon import testing
import pytest
from app import create
@pytest.fixture(scope='module')
def client():
return testing.TestClient(create())
def test_get_message(client):
result = client.simulate_get('/')
assert result.status_code == 200
我正在尝试测试我的猎鹰路线,但测试总是失败,看起来我做对了一切。
我的app.py
import falcon
from resources.static import StaticResource
api = falcon.API()
api.add_route('/', StaticResource())
和我的测试目录tests/static.py
from falcon import testing
import pytest
from app import api
@pytest.fixture(scope='module')
def client():
# Assume the hypothetical `myapp` package has a
# function called `create()` to initialize and
# return a `falcon.API` instance.
return testing.TestClient(api.create())
def test_get_message(client):
result = client.simulate_get('/')
assert result.status_code == 200
请帮忙,为什么我得到 AttributeError: 'API' object has no attribute 'create'
错误?谢谢。
您在 app.py
.
create()
函数
您的 app.py
应如下所示:
import falcon
from resources.static import StaticResource
def create():
api = falcon.API()
api.add_route('/', StaticResource())
return api
api = create()
那么在您的 tests/static.py
中应该如下所示:
from falcon import testing
import pytest
from app import create
@pytest.fixture(scope='module')
def client():
return testing.TestClient(create())
def test_get_message(client):
result = client.simulate_get('/')
assert result.status_code == 200