學習筆記之測試

yicoder發表於2019-03-27

在測試如下程式碼時

import unittest
from name_function import get_formatted_name


class NamesTestCase(unittest.TestCase):
    """測試用例"""

    def test_first_last_name(self):
        """能正確處理麼只有姓和名麼?"""
        formatted_name = get_formatted_name('xiao', 'ming')
        self.assertEqual(formatted_name, 'Xiao Ming')

unittest.main()
複製程式碼

出現測試結果

Ran 0 test in 0.000s
複製程式碼

與實際情況不符,若改為

if __name__ == "__main__":
    unittest.main()   
複製程式碼

則輸出正確結果 若刪除unittest.main()也能夠得到正確結果.

if name == 'main'的意思是:當.py檔案被直接執行時,if name == 'main'之下的程式碼塊將被執行;當.py檔案以模組形式被匯入時,if name == 'main'之下的程式碼塊不被執行。 可以防止以import形式匯入時顯示多餘的程式主體部分.

相關文章