I'm looking for some examples on how to do the following Mock Tests using StructureMap or Unity with NUnit.
I have the following code structure
public interface IDAL
{
List<Model> Method1(int id);
}
public class DAL : IDAL
{
public List<Model> Method1(int id)
{
List<Model> retval = new List<Model>();
DbCommand cmd = GetStoredProcCommand("Model_Method1");
using (IDataReader dr = DB.ExecuteReader(cmd))
{
LoadEntityBaseList(retval, dr, PopulateDomain);//populate list based on reader
}
return retval;
}
}
public class Manager
{
private readonly IDAL m_DAL;
public Manager()
{
ObjectFactory.Initialize(x => x.ForRequestedType<IDAL>());
m_DAL = ObjectFactory.GetInstance<IDAL>();
}
public List<Domain> Method1(int id)
{
return m_DAL.Method1(id);
}
}
[TestFixture]
public class ManagerTests
[Test]
public void Method1_Calls_DAL()
{
var list = new List<Model>();
using (m_mock.Record())
{
Expect.Call(_dal.Method1(1)).IgnoreArguments().Return(list);
}
using (m_mock.Playback())
{
Manager manager = new Manager();
var actual = manager.Method1(1);
Assert.That(actual, Is.Not.Null);
}
}
}
If I do include the StructureMap configuration It ignores the Mock and Rhino.Mocks.MockRepository.VerifyAll() throws an exception.
If I don't include the structureMap configuration I get No Default Instance defined for PluginFamily MyObject.IDAL.
Can someone point me in the right direction on what I'm doing wrong?