[英]object has no attribute 'loads' in UnitTest class
我試圖在python中運行一些測試。 我正在使用Unittest框架。
測試“ test_processJson”使用測試Json,dictTestString,然后檢查它是否具有一個或多個元素。 這是我的腳本“ testing.py”
import json
import starter#The code Im trying to test
import unittest
class MyTests(unittest.TestCase):
def test_processJson(json):
dictTestString = '{"city":"Barcelona"}'
jTest = json.loads(dictTestString)
dictProcess = starter.processJson(dictTest)
self.assertEquals(dictProcess["city"], "Barcelona")
if __name__ == '__main__':
unittest.main()
問題出在我運行測試時出現此錯誤:
追溯(最近一次通話):
在test_processJson中,文件“ testing.py”,第16行
jTest = json.loads(dictTestString)
AttributeError:'MyTests'對象沒有屬性'loads'
我是python的新手,所以我一直在尋找答案,但是我看到過Im所做的任何錯誤都沒有。
任何幫助將不勝感激。
謝謝。
函數的參數名為json
,它是全局json
模塊的影子。 實際上,因為這是方法的第一個參數,所以它將綁定到當前的MyTest
實例,並且由於unittest測試方法僅希望將當前實例作為參數,並且這里不需要任何json
參數,因此您只需將其重命名為self
(這是實例方法的第一個參數的約定),您的問題將得到解決。
NB:您的代碼還有其他一些錯別字/問題,但我留給您查找和解決它們的問題-這是有趣的一部分嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.