Ignoring _id can do bad things. In fact, when we sort on _id, we may want to sort explicitly on _id. Or the data we're checking against could have _id in it (_id could be important). Either way we need to find a better way to compare lists of dictionaries because right now it is picking one key and sorting on that value. If multiple dictionaries with the same value for that key are sorted in arbitrary order.

Sorting arbitrary dictionaries doesn't really make sense. You would need to specify a key to sort them on, and possibly a secondary key, and so on. It might make more sense to implement a dictionary hashing scheme such as this one:
http://stackoverflow.com/questions/5884066/hashing-a-python-dictionary
And then you could keep counts of the occurrences of each dictionary in each list and check that your final counts are the same. Just one possible other implementation idea.