首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用unittest来断言断言?

如何使用unittest来断言断言?
EN

Stack Overflow用户
提问于 2019-04-09 01:36:43
回答 2查看 49关注 0票数 0

假设我有这个函数:

代码语言:javascript
复制
def to_upper(var):
    assert type(var) is str, 'The input for to_upper should be a string'
    return var.upper()

和一个使用unittest进行单元测试的文件

代码语言:javascript
复制
class Test(unittest.TestCase):

    def test_1(self):
        -- Code here --


if __name__ == '__main__':
    unittest.main()

如果我调用to_upper(9),我该如何测试它抛出了一个断言错误?

EN

回答 2

Stack Overflow用户

发布于 2019-04-09 01:36:43

您可以使用assertRaises(AssertionError)断言断言

代码语言:javascript
复制
def test_1(self):
    with self.assertRaises(AssertionError):
        to_upper(9)
票数 0
EN

Stack Overflow用户

发布于 2019-04-09 01:43:10

断言用于调试。如果有一些前提条件足够重要,可以通过单元测试进行验证,则显式地检查它,如果失败,则引发适当的ValueErrorTypeError

在本例中,您实际上并不关心var是一个str;您只需要它有一个upper方法即可。

代码语言:javascript
复制
def to_upper(var):
    try:
        return var.upper()
    except AttributeError:
        raise TypeError("Argument has no method 'upper'")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55578865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档