为什么这个还是会异常出现呢

这个是前提条件

img

这个是要运行的程序

img

这个是异常

img


这个if测试上已经出现两种运行方案,怎么还是会出现异常呢

这个应该是使用assertEqual ()的正常输出吧。

测试如下:(Python版本:3.7.9)

参考链接:
https://www.cnblogs.com/WiseAdministrator/articles/11176627.html


https://www.cnblogs.com/herbert/p/3244614.html


name_function.py:



def get_formatted_name(first,last,middle=''):

    if middle:
        full_name = f"{first} {middle} {last}"
    else:
        full_name = f"{first} {last}"
    return full_name.title()

testassertEqual.py



import unittest
from name_function import get_formatted_name

class NamesTestCase(unittest.TestCase):

    def test_first_last_name(self):

        formatted_name = get_formatted_name('janis','joplin ')
        # https://vimsky.com/examples/usage/python-unittest-assertequal-function.html
        # https://www.cnblogs.com/WiseAdministrator/articles/11176627.html
        self.assertEqual(formatted_name,'Janis Joplin')

    def test_first_last_middle_name(self):

        formatted_name = get_formatted_name(
            'wolfgang', 'mozart','amadeus')

        self.assertEqual(formatted_name,'Wolfgang Amadeus Mozart')

if __name__ == '__main__':
    # https://www.cnblogs.com/herbert/p/3244614.html
    unittest.main()
            


img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^