У меня есть следующие классы
namespace Foo.Bar.Services
{
public abstract class Service
{
public Service(IUnitOfWork unitOfWork)
{
this.UnitOfWork = unitOfWork;
}
protected IUnitOfWork UnitOfWork { get; private set; }
}
}
using...
namespace Foo.Bar.Services
{
public class ControlService : Service
{
...
private readonly IRepository<GroupStructure> groupStructures = null;
public ControlService(IUnitOfWork uow) : base(uow)
{
...
this.agencyGroupStructures = this.UnitOfWork.GetRepository<AgencyGroupStructure>();
}
public Tuple<bool, int> HasExternalImage(int branchId)
{
var externalResultList = from a in this.Structures.Table
where a.GroupID == branch.GroupID
&& (a.AreExternalRequired == true)
&& (a.ProductTypeID == ETourType.Trailer)
&& !a.Deleted
select a;
return (some logic based on above...)
}
}
и тест
namespace ControlTests
{
[TestFixture]
public class Control
{
//unable to create service due to being abstact
[Test]
public void TestMethod1()
{
******Changed here******
var Mock = new Mock<GroupStructureService> { CallBase = true };
var fakeControl = new ControlService(Mock.Object)
var sut = fakeControl.HasExternalImage(1249);
Assert.That(sut.Item1, "true");
}
}
}
Запуск вышеуказанного с NUnit и Moq выдает следующее сообщение:
Castle.DynamicProxy.InvalidProxyConstructorArgumentsException: Может
не создавать экземпляр прокси класса: Foo.Bar.Services.ControlService.
Не удалось найти конструктор без параметров.
Я пробовал несколько вещей, но я не могу получить это ранее непроверенное приложение для создания фиктивного объекта для тестирования
Редактировать, спасибо. Так что я изменил его, чтобы использовать ControlService и макет 1
зависимостях. Но его ошибка в том, что он не может конвертировать из
.... GroupStructure to Foo.Bar.IUnitOfWork