python的unittest能不能期待一个错误出现而通过测试,不报错?

发布于 2022-09-06 09:28:02 字数 350 浏览 10 评论 0

请问python的unittest能不能期待一个错误出现而通过测试,不报错?
比如下边的代码运行时会抛出一个ERROR,有没有可能换一个测试函数实现顺利通过测试(出来一个点)?改成assertRaises也是要报错。
谢谢。

import unittest
class TestStringMethods(unittest.TestCase):
        
    def test_score(self):
        self.failUnlessRaises(ZeroDivisionError, 1/0)

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

零時差 2022-09-13 09:28:02
import unittest
class TestStringMethods(unittest.TestCase):
        
    def test_score(self):
        with self.assertRaises(ZeroDivisionError):
            1/0

if __name__ == '__main__':
    unittest.main()
终止放荡 2022-09-13 09:28:02
  • “断言”只管判断,而不在乎判断的东西到底什么。
  • 异常不是“断言”这个层面考虑的问题。
  • 你的问题自己 try 起来就完了。
def fail_unless_raises(error_type, func):
    try:
        func()
    except error_type:
        return
    else:
        raise Exception('xxx')


fail_unless_raises(ZeroDivisionError, lambda: 1/1)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文