Files
py12306/tests/__init__.py
2019-12-31 21:35:56 +08:00

42 lines
809 B
Python

import asyncio
from functools import wraps
from unittest import TestCase
from tortoise import Tortoise
from app.app import Config, App
def async_test(func):
""" Async test support """
@wraps(func)
def warp(*args, **kwargs):
loop = asyncio.get_event_loop()
loop.run_until_complete(func(*args, **kwargs))
return warp
async def __init_db():
await Tortoise.init(db_url='sqlite://:memory:', modules={'models': ['app.models']})
await Tortoise.generate_schemas()
@async_test
async def __init_test():
await __init_db()
Config.load()
await App._App__load_data()
__init_test()
class BaseTest(TestCase):
@classmethod
@async_test
async def tearDownClass(cls) -> None:
super().tearDownClass()
await Tortoise.close_connections()