Ah, it's not dispatch's fault, it's the tests above.

Earlier in the file, we reload the `views` module: https://github.com/mozilla/django-browserid/blob/1b968fd77ae38bacdb7d384b9b9d7e3031459d4d/django_browserid/tests/test_views.py#L36

Because `MyVerifyClass` is defined when the test module is first loaded, it uses an old version of the `Verify` class. By the time the new tests run, it has been replaced, and the code things they're different classes (if you run `id()` on both of the class objects they indeed return different ids).

The reloading of `views` is a bit of a hack anyway. We can fix this by making `failure_url` and `success_url` on the class into properties that pull from the settings instead of attributes that pull at definition time. Then, remove the reloading from `test_views.py`, replace `BaseFormView` with `Verify` again, and BAM. Working tests with less hackery.