簡體   English   中英

對象在UnitTest類中沒有屬性“加載”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM