Explain the difference between dotcover running tests and running by hand.
Ok, in dotcover 2.7, Resharper 8.2. VS2012 I have the following code
public static string[] ListUninstalls() { // ReSharper disable PossibleNullReferenceException var keys = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Microsoft").OpenSubKey("Windows"); keys = keys.OpenSubKey("CurrentVersion").OpenSubKey("Uninstall"); var keyValues = keys.GetSubKeyNames() .Select( key => Registry.GetValue( @"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\" + key, "DisplayName", null) as string) .Where(c => c != null) .ToArray(); // ReSharper restore PossibleNullReferenceException return keyValues; }
And the test method
[TestMethod] public void UninstallListTest() { var location = Extensions.ListUninstalls(); Assert.AreEqual(0, location.Length); }
If I right click on test and choose "Run Unit Test" it fails with
Assert.AreEqual failed. Expected:<0>. Actual:<93>
Ok, but if I right click on test and choose "Cover unit tests with dotCover", it fails with
Assert.AreEqual failed. Expected:<0>. Actual:<328>.
Clearly these are running with something different, user? permissions? ???
Can anyone explain this to me.
Thank you
Please sign in to leave a comment.