python unittest.main()不运行测试用例

时间:2014-10-14 03:54:27

标签: python flask unit-testing

我正在尝试为我的烧瓶应用程序运行一个非常基本的测试用例,但是当我调用unittest.main()时,运行零测试。我启用了pdb跟踪并检查导入是否正常。我没有看到任何其他错误或语法问题。

这是我的test.py文件:

# test.py

import os
import unittest

from views import app, db
from config import basedir
from models import User

TEST_DB='test.db'

class AllTests(unittest.TestCase):

   # executed prior to each test
    def setUp(self):
        app.config['TESTING'] = True
        app.config['WTF_CSRF_ENABLED'] = False
        app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + \
            os.path.join(basedir, TEST_DB)
        self.app = app.test_client()
        db.create_all()

    # executed after each test
    def tearDown(self):
        db.drop_all()

    #each test should start with 'test'
    def test_user_setup(self):
        new_user = User("testuer","test@user.com","testpassword")
        db.session.add(new_user)
        db.session.commit()

    if __name__ == "__main__":
        # import pdb; pdb.set_trace()
        unittest.main()

这是我调用测试脚本时的结果。

> python test.py

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

对我在这里做错了什么的想法?

1 个答案:

答案 0 :(得分:4)

您将if __name__ == '__main__'放在类AllTests的正文中,这就是没有运行测试用例的原因。