I have a class that required modifications, therefore the test class changed as well. Pretty simple stuff, new test passes in dev sandbox, changeset promoted from dev to a full copy staging org, test passes there as well. All is apparently good.
However. When I then changeset the class and test from staging to production, it fails. The failure appears to be caused by the old version of the test class being run on the new version of the class to be tested. Running the existing Production org version of the test, predictably, successfully completes.
This seems impossible but as best I can tell that's what's going on.
I tried moving just the test class in the vain hope that somehow it would just go in without complaint. But of course that fails because the test is expecting the new version of the underlying class. The old version only has a single constructor that takes no args, the new test expects the new version of the class that has one constructor that requires one argument.
How am I supposed to move this class if I can't get it to recognize the test it's packaged with as the one to run?