【问题标题】:Is there a need to return on unittest in Python?是否需要在 Python 中返回单元测试?
【发布时间】:2017-09-30 22:04:08
【问题描述】:

来自http://pythontesting.net/framework/unittest/unittest-introduction/

import unittest
from unnecessary_math import multiply

class TestUM(unittest.TestCase):

    def setUp(self):
        pass

    def test_numbers_3_4(self):
        self.assertEqual( multiply(3,4), 12)

    def test_strings_a_3(self):
        self.assertEqual( multiply('a',3), 'aaa')

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

但是是否需要在每个单元测试函数结束时返回?如果是这样,那有什么用?例如:

import unittest
from unnecessary_math import multiply

class TestUM(unittest.TestCase):

    def setUp(self):
        pass

    def test_numbers_3_4(self):
        self.assertEqual( multiply(3,4), 12)
        return 

    def test_strings_a_3(self):
        self.assertEqual( multiply('a',3), 'aaa')
        return 

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

【问题讨论】:

    标签: python unit-testing return


    【解决方案1】:

    为什么要显式返回None,因为没有return语句的函数默认总是返回None。此外,不需要从单元测试中返回任何内容,因为该输出没有接收器,而且它无论如何也没有任何用途。

    【讨论】:

    • 有时明确返回None 是......好吧,如果None 很重要,则更明确。当然,如果没有接收者,返回语句应该省略,就像你说的那样。
    • @timgeb 当你的函数有多个返回语句时有意义,或者它可以返回非无的值
    • 是的,这是我想到的案例之一。
    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多