2017-03-01 6 views
0

ユニットテストmain.py

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hi(): 
    return 'hi', 200 

を私はそれのためのユニットテストを書きたいが、私はtest.pymain.pyをインポートするかどうかはわかりません。下のコードはNameError: name 'app' is not definedです。

import unittest 

class MyTestCase(unittest.TestCase): 

    def test_hi(self): 
     self.app = app.test_client() 
     r = self.app.get('/') 
     assert b'hi' in r.data 

(同じディレクトリに基本的にmain.pytest.py)同じディレクトリ構造を維持しながら、このテストを書くための方法はありますか?

答えて

0

あなたのファイルの両方が同じフォルダ内にある場合は、あなたのテストファイルは、ちょうどmainモジュールからアプリをインポートする必要があります。

import unittest 
from main import app 

class MyTestCase(unittest.TestCase): 

    def test_hi(self): 
     self.app = app.test_client() 
     r = self.app.get('/') 
     assert b'hi' in r.data 

=>

python -m unittest test.py 
. 
---------------------------------------------------------------------- 
Ran 1 test in 0.009s 

OK 
関連する問題