Nik*_*nyh 5 python django unit-testing tornado
我喜欢django单元测试,因为他们在运行时创建并删除测试数据库.
有什么方法可以为龙卷风创建测试数据库?
UPD:我对测试运行中的postgresql测试数据库创建感兴趣.
我发现最简单的方法就是为测试数据库使用SQL转储.创建一个数据库,用fixtures填充它,然后将其写入文件.只需load_fixtures在运行测试之前调用(或者在需要重置数据库时).这种方法肯定可以改进,但它足以满足我的需求.
import os
import unittest2
import tornado.database
settings = dict(
db_host="127.0.0.1:3306",
db_name="testdb",
db_user="testdb",
db_password="secret",
db_fixtures_file=os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures.sql'),
)
def load_fixtures():
"""Fixtures are stored in an SQL dump.
"""
os.system("psql %s --user=%s --password=%s < %s" % (settings['db_name'],
settings['db_user'], settings['db_password'], settings['db_fixtures_file']))
return tornado.database.Connection(
host=settings['db_host'], database=settings['db_name'],
user=settings['db_user'], password=settings['db_password'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |