鍍金池/ 問(wèn)答/Python  測(cè)試/ python--我用的pycharm通過(guò)unittest進(jìn)行測(cè)試測(cè)試,運(yùn)行成功沒(méi)

python--我用的pycharm通過(guò)unittest進(jìn)行測(cè)試測(cè)試,運(yùn)行成功沒(méi)有出現(xiàn)句點(diǎn)?

最開(kāi)始我按照書(shū)上代碼運(yùn)行,顯示Ran 0 tests in 0.000s,具體代碼如下
待測(cè)試代碼:

name_function.py

def get_formatted_name(first,last):
'''piease enter your full name'''
full_name = first + ' ' + last
return full_name.title()

測(cè)試代碼:
import unittest
from name_function import get_formatted_name

class NameTestCase(unittest.TestCase):

'''測(cè)試name_function.py'''
def test_first_last_name(self):
    '''能否正確處理名字'''
    formatted_name = get_formatted_name('jian','ming')
    self.assertEqual(formatted_name,'Jian Ming')

unittest.main()

運(yùn)行結(jié)果:
Launching unittests with arguments python -m unittest E:/python code/test_name_function.py in E:python code
Ran 0 tests in 0.000s
OK
Process finished with exit code 0
Empty test suite.

之后我在網(wǎng)上找到了兩種解決方案
方案一:
將測(cè)試代碼處的
unittest.main()
修改為
if name == '__main__':

unittest.main()

運(yùn)行結(jié)果為
Launching unittests with arguments python -m unittest E:/python code/test_name_function.py in E:python code
Ran 1 test in 0.001s
OK

沒(méi)有句點(diǎn),而書(shū)上運(yùn)行結(jié)果如下,是有句點(diǎn)的
.
Ran 1 test in 0.000s
OK

方案二:
對(duì)get_formatted_name()進(jìn)行測(cè)試
步驟如下:
選中該方法后ctrl+shift+T,如圖
圖片描述
選擇creat New Test,選中該方法。測(cè)試代碼如下
import unittest
from name_function import get_formatted_name

class NameTestCase(unittest.TestCase):

'''測(cè)試name_function.py'''
def test_first_last_name(self):
    '''能否正確處理名字'''
    formatted_name = get_formatted_name('jian','ming')
    self.assertEqual(formatted_name,'Jian Ming')

就是相比于書(shū)上代碼,刪掉了unittest.main()
運(yùn)行結(jié)果同方案一,為什么會(huì)沒(méi)有句點(diǎn)呢?

回答
編輯回答
心上人

clipboard.png

2018年6月14日 01:29
編輯回答
背叛者

同用pycharm,用你的方案一出現(xiàn)此現(xiàn)象,除了沒(méi)有句點(diǎn),測(cè)試代碼都沒(méi)問(wèn)題。

2017年5月3日 13:06
編輯回答
別硬撐

選擇運(yùn)行方式的時(shí)候造成的

clipboard.png

1.unittest方式運(yùn)行就沒(méi)有句點(diǎn),不要用Python test就好了
2.選擇文件直接運(yùn)行就有句點(diǎn)了

2017年2月10日 05:42