我写了下面的单元测试来测试连接是否成功建立。import unittestfrom databse_access_pyodbc import *from pyodbc import OperationalErrorclass TestDatabseConnection(unittest.TestCase): def test_connection_db(self): try: db_connection = get_db_connection() except OperationalError as err: self.fail( "get_db_connection() raised pyodbc.OperationalError. " + "Connection to database failed. Detailed error message: " + err) self.assertIsNone(db_connection)if __name__ == '__main__': unittest.main()如果可以建立连接,测试说:Ran 1 test in 0.001sOKProcess finished with exit code 0如果无法建立连接,我将得到以下信息:Traceback (most recent call last): File "xxx\PyCharm-P\ch-0\182.4505.26\helpers\pycharm\_jb_unittest_runner.py", line 35, in <module> main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING) File "xxx\Python36\lib\unittest\main.py", line 94, in __init__ self.parseArgs(argv) File "xxx\Python36\lib\unittest\main.py", line 141, in parseArgs self.createTests() File "xxx\Python36\lib\unittest\main.py", line 148, in createTests self.module) File "xxx\Python36\lib\unittest\loader.py", line 219, in loadTestsFromNames suites = [self.loadTestsFromName(name, module) for name in names] File "xxx\Python36\lib\unittest\loader.py", line 219, in <listcomp> suites = [self.loadTestsFromName(name, module) for name in names] File "xxx\Python36\lib\unittest\loader.py", line 153, in loadTestsFromName module = __import__(module_name) File "xxx\tests\test_database_access_pyodbc.py", line 2, in <module> from databse_access_pyodbc import * File "xxx\databse_access_pyodbc.py", line 40, in <module> get_db_connection() File "xxx\databse_access_pyodbc.py", line 36, in get_db_connection autocommit=True)Process finished with exit code 1Empty test suite.为什么OperationalError测试用例没有捕获异常,为什么它说:Empty test suite?
添加回答
举报
0/150
提交
取消