Error when unit testing string was not stubbed
-
Thursday, September 13, 2012 11:03 AM
Hi,
I'm new to unit testing and not sure why I'm getting this error any ideas..?
SIDirectoryAccessor.i: IDirectoryAccessor.Exists(string) was not stubbed
I have mocked out the classes and now I am wanting to unit test. The method I would like to unit test is below:
public bool createDirectoryStructure(out string _createDirectoryStructureMessage) { _directoryStructureCreated = (!_directoryAccessor.Exists(_settingAccessor.GetSetting<string>("TargetInstallationFolderPath"))); if (_directoryStructureCreated) { _createDirectoryStructureMessage = "Creating Directory"; _directoryAccessor.Create(_settingAccessor.GetSetting<string>("TargetInstallationFolderPath")); _directoryAccessor.Create(_settingAccessor.GetSetting<string>("LogFileLocation")); return false; } else { _createDirectoryStructureMessage = "Directory Exists"; return true; } }
My Unit test is below:
[TestMethod] public void TargetLocationFolderAlreadyCreated() { SIDirectoryAccessor dirstub = new SIDirectoryAccessor(); SISettings setstub = new SISettings(); InstallController controller = new InstallController(null, dirstub, null, null, setstub, null, null, null, null); setstub.GetSettingString<string>((settingName) => "TargetInstallationFolderPath"); string expectedMessage = "Directory Exists"; string actualMessage = string.Empty; Assert.IsTrue(controller.createDirectoryStructure(out actualMessage)); Assert.AreEqual(expectedMessage, actualMessage); }
Don't understand why the error display as I have added the code below, it compiles fine but doesn't run successfully..
setstub.GetSettingString<string>((settingName) => "TargetInstallationFolderPath");
Can someone please explain what I'm doing wrong..?
Thanks

