MibooGram/tests/test_game.py
洛水居室 50de1f3555
♻ 重写单元测试
默认测试运行程序从 `unittest`  改为 `pytest`

Co-authored-by: xtaodada <xtao@xtaolink.cn>
Co-authored-by: Karako <karakohear@gmail.com>
2022-09-12 23:18:11 +08:00

37 lines
1.2 KiB
Python

import pytest
import pytest_asyncio
from flaky import flaky
from modules.apihelper.hyperion import Hyperion
@pytest_asyncio.fixture
async def hyperion():
_hyperion = Hyperion()
yield _hyperion
await _hyperion.close()
# noinspection PyShadowingNames
@pytest.mark.asyncio
@flaky(3, 1)
async def test_get_strategy(hyperion):
test_collection_id_list = [839176, 839179, 839181]
test_result = ["温迪", "胡桃", "雷电将军"]
async def get_post_id(_collection_id: int, character_name: str) -> str:
post_full_in_collection = await hyperion.get_post_full_in_collection(_collection_id)
if post_full_in_collection.error:
raise RuntimeError(f"获取收藏信息错误,错误信息为:{post_full_in_collection.message}")
for post_data in post_full_in_collection.data["posts"]:
topics = post_data["topics"]
for topic in topics:
if character_name == topic["name"]:
return topic["name"]
return ""
for index, _ in enumerate(test_collection_id_list):
second = test_result[index]
first = await get_post_id(test_collection_id_list[index], second)
assert first == second