初學python,撰寫一個函式的單元測驗,然后報錯如下:
EE
======================================================================
ERROR: test_name_function (unittest.loader._FailedTest)
----------------------------------------------------------------------
AttributeError: module '__main__' has no attribute 'test_name_function'
======================================================================
ERROR: true (unittest.loader._FailedTest)
----------------------------------------------------------------------
AttributeError: module '__main__' has no attribute 'true'
----------------------------------------------------------------------
name_function.py:
def get_formatted_name(first,last,middle=''):
if middle:
full_name = first+" "+middle+" "+last;
else:
full_name = first+" "+last;
return full_name.title();
test_name_function.py
import unittest
from ch02.owntest.name_function import get_formatted_name
class NameTestCase(unittest.TestCase):
def test_first_last_name(self):
format_name = get_formatted_name('king','ivan')
self.assertEqual(format_name,'King Ivan')
unittest.main()
運行這個test_name_function中unittest.main()就報上面錯誤,有誰知道怎么回事么
uj5u.com熱心網友回復:
需要如下運行:if __name__== '__main__':
unittest.main()
估計和java中需要一個main方法一樣
uj5u.com熱心網友回復:
換一個編輯器試試,這個例子我在pycharm里運行不能通過,但是在Geany里面可以。uj5u.com熱心網友回復:
和你用的python版本有關吧,2的話需要if __name__== '__main__':
unittest.main()
3不需要吧
uj5u.com熱心網友回復:
出現這個問題是因為打開的是檔案夾,pycharm作為一個project來打開的,這時候執行單元測驗的腳本,就會出問題。如果是作為檔案打開,就是不打開檔案夾,這樣進行運行是沒有任何問題的。
但是為什么會出現這個問題,沒有發現更深的原因,猜測是和Pycharm的Project的內部處理有一定關系的。
所以解決方法有幾個
1.pycharm中單個打開檔案,不要打開檔案夾;
2.換一個ide,比如Notpad++ 等等
uj5u.com熱心網友回復:
我也出現了同樣的問題,我想請問樓主是如何解決這個問題的,感謝,我是用jupyter notebook 這個編輯器的uj5u.com熱心網友回復:
我也遇到了,我用的網頁版jupyter notebook,代碼和你的差不多,錯誤也是這樣,不知道為什么uj5u.com熱心網友回復:
unittest.main(argv=['first-arg-is-ignored'],exit=False)或unittest.main(argv=['ignored', '-v'], exit=False)改成這個
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/96553.html
上一篇:python源代碼中的資料流提取
下一篇:anaconda安裝scrapy
