2017-03-01 3 views
0

eine einfache Flasche app in main.py Gegeben:Unit-Tests main.py

from flask import Flask 
app = Flask(__name__) 

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

Ich möchte ein Unit-Test für sie schreiben, aber ich bin nicht sicher, wie main.py in test.py zu importieren. Ich bekomme NameError: name 'app' is not defined für den folgenden Code.

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 

Gibt es eine Möglichkeit, diesen Test zu schreiben, während die gleiche Verzeichnisstruktur zu halten (im Grunde main.py und test.py im selben Verzeichnis)?

Antwort

0

Wenn beide Dateien im selben Ordner sind, dann Ihre Testdatei muss nur die App aus dem main Modul importieren:

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 
Verwandte Themen