`zipline.utils.test_utils` has the `check` method, an element-wise comparison for lists, dicts, and nested combinations of both. If it finds a discrepancy, it prints the assertion error along with a string representing the path to the element that doesn't match. txn is pretty small, but for bigger data structs, the printed path is invaluable.