简化从**BDD**或**功能**测试启动和终止Web开发服务器
项目描述
Test Live Server 已迁移至 Live and Let Die!
https://pypi.python.org/pypi/liveandletdie https://github.com/peterhudec/liveandletdie
Live and Let Die 是一个简化从 BDD 或功能测试中启动和终止 Web 开发服务器的简单包。我为了 Authomatic 包的功能测试创建了它。
请注意,该包最近已从之前的 testliveserver 重命名为当前的 liveandletdie!
该包目前支持 Google App engine、Django、Flask 和 wsgiref.simple_server。希望将来会添加对其他框架的支持。
用法
首先,您需要创建框架类的一个实例。
Django
import liveandletdie
# Django
app = liveandletdie.Django('path/to/django/project/',
host='0.0.0.0',
port=5555,
timeout=60.0)
Google App Engine
import liveandletdie
app = liveandletdie.GAE('path/to/dev_appserver.py',
'path/to/gae/app/dir', # containing app.yaml file
host='0.0.0.0',
port=5555,
timeout=60.0)
Flask
通过 Flask,您必须使用 liveandletdie.Flask.wrap(app) 包装 WSGI 应用程序。
# flask/app/main.py
from flask import Flask
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def home():
return 'Hello World!'
if __name__ == '__main__':
# This does nothing unless you run this module with --liveandletdie flag.
import liveandletdie
liveandletdie.Flask.wrap(app)
app.run()
import liveandletdie
app = liveandletdie.Flask('path/to/flask/app/main.py',
host='0.0.0.0',
port=5555,
timeout=60.0)
Pyramid (wsgiref.simple_server)
通过 wsgiref.simple_server,您必须使用 liveandletdie.WsgirefSimpleServer.wrap(app) 包装 WSGI 应用程序。
# pyramid/app/main.py
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
def home(request):
return Response('Hello World!')
if __name__ == '__main__':
config = Configurator()
config.add_route('home', '/')
config.add_view(home, route_name='home')
app = config.make_wsgi_app()
# This does nothing unless you run this module with --liveandletdie flag.
import liveandletdie
liveandletdie.WsgirefSimpleServer.wrap(app)
server = make_server('127.0.0.1', 8080, app)
server.serve_forever()
import liveandletdie
app = liveandletdie.Flask('path/to/pyramid/app/main.py',
host='0.0.0.0',
port=5555,
timeout=60.0)
使用 App 实例
所有支持的框架的接口都是相同的。
# Start the app.
# If kill is True, it will kill any Python process listening on port 5555
process = app.live(kill=True)
# You can check whether it is running
is_running = app.check()
# Stop it
app.die()
简单的单元测试示例:https://github.com/peterhudec/liveandletdie/blob/master/test_examples/unittest_example/tests.py
简单的 PyTest 示例:https://github.com/peterhudec/liveandletdie/blob/master/test_examples/pytest_example/tests.py
简单的 Lettuce 示例:https://github.com/peterhudec/liveandletdie/blob/master/test_examples/lettuce_example/tests.py
开发者
克隆
$ git clone https://github.com/peterhudec/liveandletdie.git
启动开发环境。这将在项目根目录中创建 ./venv 虚拟环境。
$ sh bootstrap.sh
运行测试
$ sh run-all.sh
享受吧!
项目详情
TestLiveServer-0.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4dcabb9b19f333edf6ac7dd21c2a4a6f46af8c790d2d9d9b4710c3520e38d6ff |
|
MD5 | dfdd9c4109df3000f5dab751fe7ed915 |
|
BLAKE2b-256 | 59467eb0d472cb01fb10cc1b0c3e9c9b0e7d2ea20819e89417a08996f73435a3 |