我在编写程序时正在编写单元测试。我正在使用SQLAlchemy进行数据库处理,所以我有一些这样的函数:
def create_sqla_engine():
""" Create and return the SQLA engine """
mysql_uri = os.environ.get('MYSQL_CONNECTION_URI')
engine = sqlalchemy.create_engine(mysql_uri)
return engine
如果我print(type(engine))
我可以看到类型为<class 'sqlalchemy.engine.base.Engine'>
...所以我想通过检查类型是否正确来测试此函数是否正常工作(如果None
调用失败,则假设类型为create_engine
...)
此代码位于unittests.py
:
class TestDatabase(unittest.TestCase):
def test_database_create_merkle_sqla_session(self):
assert type(myprogram_database.create_sqla_engine()) is # ?
如何检查class
变量的类型?
答案 0 :(得分:6)
这里有几个选项......最简单的方法就是检查你得到的对象是不是None
:
self.assertIsNotNone(myprogram_database.create_sqla_engine())
如果您确实想要检查返回类型是否是其他内容的实例,则可以使用assertIsInstance
:
self.assertIsInstance(myprogram_database.create_sqla_engine(),
sqlalchemy.engine.base.Engine)