我正在使用assertIn
来测试JSON字符串中的部分结果是否正确。
test_json = some_function_returning_a_dict()
self.assertIn(expected_json, test_json, "did not match expected output")
错误是
AssertionError:“'abc':'1.0012',”[{'abc':'1.0012',...
中找不到
我在内部字符串上使用Ctrl + F
,它在结果字符串中
我正在使用Python 3.0
答案 0 :(得分:3)
右。 Python的 in 运算符适用于可迭代对象。 test_json 中的子句表示"是给定项目的字典键#34;。它不在词典中搜索键:值对。
为此,请使用两个步骤:
assertIn('abc', test_json)
assertEquals('1.0012', test_json['abc'])
使用适当的变量和引用进行此操作留给学生练习。 : - )
答案 1 :(得分:1)
"'abc': '1.0012',"
是一个字符串,{'abc': '1.0012', }
是字典
您想要检查json中的字典条目,而不是字符串
答案 2 :(得分:1)
看起来您正在尝试在字典中查找字符串,该字符串将检查您提供的字符串是否是指定字典的键。首先,不要将您的第一个字典转换为字符串,其次要执行all(item in test_json.items() for item in expected_json.items())