下記のフォルダ構造で、pytestの単体テストを実行しようとしています。
しかし、
ImportError: cannot import name 'app' from 'run'
で、下記の、run.pyの中にあるapp変数にアクセスできず、エラーが出てしまいます。
下記の、run.pyの書き方は変えずに、単体テストが実行できる方法を、何かご教示いただけますでしょうか?
どうぞよろしくお願いいたします。
フォルダ構造
run.py tests - test_run.py
run.py
python
1from flask import Flask, request 2 3 4def hello_world(request): 5 # ... 6 return 'HelloWorld!' 7 8 9if __name__ == "__main__": 10 app = Flask(__name__) 11 12 @app.route('/') 13 def index(): 14 return hello_world(request) 15 16 app.run('127.0.0.1', 8000, debug=True)
test_run.py
python
1import os 2import sys 3sys.path.append(os.path.join(os.path.dirname(__file__), '..')) 4import pytest 5 6from run import app 7 8def test_post_slack(): 9 10 # テスト用のクライアントの定義 11 app.config['TESTING'] = True 12 client = app.test_client() 13 14 response = client.post('/') 15 16 assert response.status_code == 200
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。