Same code under test, same test, and it's failing... but only on your machine? Weird.
Correct.
Are you running the tests through a command-line build or through a Visual Studio add-in like TestDriven.NET?
Yes. I'm running the tests using R#.
1) The tests are referencing (through the .csproj) one version of Isolator but the machine running the tests has a different version installed. For example, the .csproj references version 5.1 and the 5.1 assemblies are checked in with your source code, but your developer machine has 5.0 installed.
The project is using 5.1 and that's what's checked into source code control. I checked the GAC on my machine, and the only version there is 5.1. I had 5.0 installed, but then I installed the 5.1 release. That seems to have removed the 5.0 DLLs from the GAC and left only the new version.
2) The command-line build script tries to auto-deploy Typemock Isolator to my developer machine but I've already got it installed. I've found inexplicable behavior comes from auto-deploy running on a machine where Isolator's already installed.
I don't think that this is an issue for me because I'm not using a command-line build script.
I've also found that removing the .user and .suo files, as odd and unrelated as it sounds, sometimes cleans up weird behavior like this when running tests from within Visual Studio. (Maybe just coincidence, but worth a shot?)
Tried that, but it didn't help.
I might also try doing a full uninstall of Isolator and then installing from scratch rather than a repair (assuming you've been repairing). That might shake something loose.
Initially when I started having this issue, I ran an uninstall. However, I accidentally installed 5.0 again afterwords. (It was sitting on my desktop and I mistook it for 5.1.) So, I upgraded it to 5.1. After that didn't solve the problem, I tried a repair. I'll try uninstalling and reinstalling again.
Unrelated: I noticed you're using the AAA API but also using the [VerifyMocks] attribute. Generally speaking the "Assert" part of "Arrange, Act, Assert" includes manually verifying calls via Isolate.Verify. [VerifyMocks] is more for use with the Natural and Reflective mocking styles. (Typemock support folks - correct me if I'm wrong there.)
I found that I had to create an instance of ISingleResult<MyGoodStoredProcedureResult> using the mock manager. That's why I added the VerifyMocks attribute. I just omitted the call to Isolate.Verify for the fake I created using the AAA syntax. I'll revisit that.
Thanks, Travis, for the help in this. I appreciate it.
--
Regards,
Travis Spencer