单元测试main.py

时间:2017-03-01 11:44:39

标签: python unit-testing flask

鉴于main.py中的简单Flask应用:

from flask import Flask
app = Flask(__name__)

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

我想为它编写单元测试,但我不确定如何将main.py导入test.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在同一目录中?)

1 个答案:

答案 0 :(得分: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