我正在尝试创建一个最小的设置来测试烧瓶应用程序。
目前我有一个应用程序的文件夹
root/
myapp/
__init__.py
app.py
我的app.py
文件是一个非常小的烧瓶应用程序:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run()
现在,关注this guide我正在尝试在专用文件夹中添加一些测试:
root/
myapp/
__init__.py
app.py
tests/
tests.py
tests.py
具有以下内容:
import os
import myapp
import unittest
import tempfile
class FlaskrTestCase(unittest.TestCase):
def setUp(self):
self.db_fd, myapp.app.config['DATABASE'] = tempfile.mkstemp()
myapp.app.testing = True
self.app = myapp.app.test_client()
with myapp.app.app_context():
myapp.init_db()
def tearDown(self):
os.close(self.db_fd)
os.unlink(myapp.app.config['DATABASE'])
def test_empty_db(self):
print(myapp)
resp = self.app.get('/index')
assert resp.data
if __name__ == '__main__':
unittest.main()
现在我想安装和更改尽可能少的东西,并能够运行我的测试。
你的建议是什么?
在我链接的页面中,他们建议使用pytest,但它是另一种工具,我更愿意从基础知识中理解所有内容,避免添加太多内容。
如果我做了最简单的事情:在root
文件夹中,运行:
python tests/tests.py
但是我收到了这个错误:
ModuleNotFoundError:没有名为'myapp'的模块
但我不确定如何在我当前配置的测试中使用myapp模块。