1. 程式人生 > >介面測試基礎——第6篇unittest模組(一)問題解決

介面測試基礎——第6篇unittest模組(一)問題解決

1.:NameError: name 'reload' is not defined 問題

 

對於 Python 2.X:

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

 

對於 <= Python 3.3:

import imp

imp.reload(sys)

 

注意:

1. Python 3 與 Python 2 有很大的區別,其中Python 3 系統預設使用的就是utf-8編碼。

2. 所以,對於使用的是Python 3 的情況,就不需要sys.setdefaultencoding("utf-8")這段程式碼。

3. 最重要的是,Python 3 的 sys 庫裡面已經沒有 setdefaultencoding() 函數了。

 

對於 >= Python 3.4:

import importlib

importlib.reload(sys)

 

 

2.出現這樣的錯誤:

sys.setdefaultencoding("utf-8")

AttributeError: module 'sys' has no attribute 'setdefaultencoding'

 

原因分析:

Python3字串預設編碼unicode, 所以sys.setdefaultencoding也不存在了

 

解決:

去掉,sys.setdefaultencoding

 

注:我們常用’/‘來表示相對路徑,’\‘來表示絕對路徑,上面的路徑裡\\是轉義的意思(3也可以寫成open(r'D:\user\ccc.txt'),r表示轉義),不懂的自行百度。

 

ImportError: No module named 'StringIO'

1.原因是官網的是python2語法寫的,看官手動把官網的HTMLTestRunner.py改成python3的語法:

下載最新的HTMLTestRunner:https://pan.baidu.com/s/1dEZQ0pz