我正在尝试用python运行一些测试。Im使用Unittest框架。在
测试“test_processJson”使用测试Json,dictTestString,然后检查它是否有一个或多个元素。这是我的剧本”测试.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()
当我运行测试时,问题出现了,我得到了这个错误:
Traceback (most recent call last):
File "testing.py", line 16, in test_processJson
jTest = json.loads(dictTestString)
AttributeError: 'MyTests' object has no attribute 'loads'
我是python新手,所以我一直在寻找答案,但我看到的任何错误我都没有做。在
如有任何帮助,将不胜感激。在
谢谢。在
函数的参数名为
json
,它是全局json
模块的影子。实际上,由于这是方法的第一个参数,它被绑定到当前的MyTest
实例,并且由于unittest测试方法只希望将当前实例作为参数,而您不需要在这里使用json
参数,您只需将其重命名为self
(这是实例方法的第一个参数的约定),并且你的问题会解决的。在注意:你的代码中还有一些其他的错误/问题,但我让你自己去发现和解决它们——这是乐趣的一部分,不是吗?在
相关问题 更多 >
编程相关推荐