The destructor of a class is called when the garbage collector finally cleans up classes that are no longer in use. What you could do is put a check in the destructor that "Dispose" has been called. It is advised against actually using the destructor, but for testing purposes, it can be useful.
The only problem with this method is that you will have to create your own class that inherits from the one you need to test for IDispose and override the Dispose method (so you can set a flag saying that it has been called), initialize the flag in a constructor and check it in the destructor (which you implement with "~ClassName() { ... }")