嗨,我正在尝试在我的django python应用程序中实现behave测试框架。然而,不确定是什么问题,我不断得到连接被拒绝。
以下是feature/environment.py ment.py的内容:
import os
import django
import urlparse
os.environ['DJANGO_SETTINGS_MODULE'] = 'tilesproj.settings'
django.setup()
def before_all(context):
from django.test.runner import DiscoverRunner
context.runner = DiscoverRunner()
import wsgi_intercept
from django.core.handlers.wsgi import WSGIHandler
host = context.host = 'localhost'
port = context.port = 8000
from django.core.wsgi import get_wsgi_application
from wsgiref.simple_server import make_server
application = get_wsgi_application()
wsgi_intercept.add_wsgi_intercept(host, port, lambda: application)
import mechanize
context.browser = mechanize.Browser()
def browser_url(url):
return urlparse.urljoin('http://%s:%d/' % (host, port), url)
context.browser_url = browser_url
from BeautifulSoup import BeautifulSoup
def parse_soup():
r = context.browser.response()
html = r.read()
r.seek(0)
return BeautifulSoup(html)
context.parse_soup = parse_soup
def before_scenario(context, scenario):
context.runner.setup_test_environment()
context.old_db_config = context.runner.setup_databases()
def after_scenario(context, scenario):
context.runner.teardown_databases(context.old_db_config)
context.runner.teardown_test_environment()我正在尝试弄清楚如何在运行行为脚本时引导我的django应用程序,以便测试我的web应用程序。
发布于 2015-02-12 22:43:51
你应该试一下网站上的example Django Behave configuration。从本质上讲,你使用一个假浏览器来执行请求,而这些请求实际上并不是通过一个真正的网站。您的连接被拒绝,因为没有可连接的真实服务器。
因此,您应该从wsgi_intercept获得机械化浏览器,而不是直接从机械化获得:
### Set up the Mechanize browser.
from wsgi_intercept import mechanize_intercept
# MAGIC: All requests made by this monkeypatched browser to the magic
# host and port will be intercepted by wsgi_intercept via a
# fake socket and routed to Django's WSGI interface.
browser = context.browser = mechanize_intercept.Browser()https://stackoverflow.com/questions/28479857
复制相似问题