Python unittest 只在断言失败是怎么触发另一个方法函数?

2017-06-01 15:33:04 +08:00
 zht0858

在做自动化脚本开发,使用的 unittest 框架, 想在断言失败的时候截图。下面这个例子无论成功或失败都会触发指定的函数,请问怎么修改,只在失败的时候触发函数呢?

import unittest
class loginTests(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        pass

    @classmethod
    def tearDownClass(cls):
        pass

    def aaa(self):
        print('触发函数')

    def test1(self):
        i =2
        self.assertEqual(i,1,self.aaa())

if __name__ == '__main__':
    unittest.main()
2408 次点击
所在节点    Python
2 条回复
vTexEZDota
2017-06-01 17:47:11 +08:00
try:
self.assertEqual(i,1)
except AssertionError as e:
self.aaa
self.assertEqueal(i,1)

你可以试试看。但是如果只做异常处理,这条用例会被认为正确执行了。
jotsai
2017-06-01 18:55:38 +08:00
我是在 teardown 里判断用例是否执行失败,失败就截图

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX