首页 > 解决方案 > unittest引发异常python

问题描述

我有以下内容来查看 DataFrame 是否为空:

def emptyframecheck(data_frame):
if data_frame.empty:
    raise Exception('An empty dataframe was passed.')

我想对此进行单元测试,但是当我运行它时:

def test_emptyframecheck():
    # Given
    workitem_df = pd.read_csv(os.path.join(HERE, 'test_csv', 'test.csv'))

    # When
    emptyframecheck(workitem_df)

    # Then
    assertTrue('An empty dataframe was passed' in emptyframecheck.exception)

我得到一个assertTrue未定义的全局名称。这workitem_df只是我正在传递的一个空框架。我有什么遗漏或更好的方法吗?

标签: pythonunit-testingexceptionpytest

解决方案


这个错误意味着它所说assertTrue的:未定义。你进口了assertTrue吗?如果您导入了测试模块而不是框架,则必须执行以下操作:

testing_module.assertTrue()

如果你想直接使用'assertTrue`,你应该在测试文件的顶部写下以下内容:

from testing_module import assertTrue

推荐阅读