私はPython3、Flask 0.12、Pytest 3.0.7を使用しています。フラスコサーバーが別のスレッドを実行すると、Pytestがハングアップする
私はこれに似たフラスコアプリがあります。私は次のようにpytestを使用して、このアプリをテストしようとしています
class AppInitializer:
def __init__(self):
pass
@staticmethod
def __function_to_be_refreshed():
while True:
try:
time.sleep(5)
except Exception as e:
logger.exception(e)
def create_app(self):
daemon_thread = threading.Thread(target=self.__function_to_be_refreshed)
daemon_thread.daemon = True
daemon_thread.start()
atexit.register(daemon_thread.join)
app_ = Flask(__name__)
return app_
app_initializer = AppInitializer()
app = app_initializer.create_app()
を:
import unittest
import pytest
class TestCheckPriceRequestAPI(unittest.TestCase):
def setUp(self):
self.app = api.app.test_client()
def test_random(self):
pass
私はpytest
を使用してこのテストを実行すると、このテストを(他のすべてのテストとともに)正常に実行されますが、pytestはハングします。実行中のpytestプロセスを停止する方法(またはデーモンスレッドを終了させる方法)
まあフラスコアプリには、ビジネスの産卵スレッド – e4c5
e4c5 @を持っていない:それは、プロジェクトの追加要件でした。 – tusharmakkar08