Я ищу несколько примеров того, как выполнять следующие пробные тесты с использованием StructureMap или Unity с NUnit.
У меня следующая структура кода
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);
}
}
}
Если я включаю конфигурацию StructureMap, она игнорирует Mock и Rhino.Mocks.MockRepository.VerifyAll () генерирует исключение.
Если я не включаю конфигурацию StructureMap, я получаю инстанс по умолчанию, определенный для PluginFamily MyObject.IDAL.
Может ли кто-нибудь указать мне правильное направление на то, что я делаю неправильно?