I have been trying to mock out a using with a file stream but have not been able to complete this and am unsure how to do it, I am using rhino mock.
private Connection LoadConnectionDetailsFromDisk(string bodyFile)
{
//logic before
using (FileStream fs = File.Open(bodyFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
return this.serverConfiguration.LoadConfiguration(fs, flowProcess);
}
//more logic
}
Could anyone tell me how to mock the using(FileStream….) so I am able to access this branch of the code?
You have to abstract
File.Open()by an interface method then you would be able mocking call to it.So
1) Create an interface:
2) Change
LoadConnectionDetailsFromDisk()as following:3) In a test mock the interface and inject a mock
Considering that
LoadConnectionDetailsFromDisk()you can not inject mock directly to this method call froma test so please show how this method is invoked.