在python中編寫一些單元測試,並使用MagicMock來模擬接受JSON字符串作爲輸入的方法。在我的單元測試中,我想斷言它是用給定的參數調用的,但是我遇到了assert語句的問題,因爲字典中對象的排序並不重要,除了字符串的assert語句之外。下面我試圖實現的簡化示例。在python中聲明使用json字符串調用的模擬函數
mock_funct = MagicMock()
# mocked function called elsewhere
expected = {"a":"a", "b":"b"}
mock_funct.assert_called_once_with(json.dumps(expected))
上面可以傳遞或當它被轉儲到JSON,可能由於未能在字典中的鍵的任意排序即兩個'{"a":"a", "b":"b"}'
和'{"b":"b", "a":"a"}'
是有效的轉儲但卻一個會失敗和一個將通過,我想寫測試,以便通過。