Невозможно привести объект типа 'Castle.Proxies.ObjectProxy_3' к типу 'Microsoft.EntityFrameworkCore.Metadata.Internal.Model - PullRequest
0 голосов
/ 18 мая 2019

Итак, я изучаю тесты XUnit, создавая их в своем .Net проекте. Но я продолжаю получать InvalidCastException, который не могу разрешить. Я действительно новичок в тестировании с Xunit, так что я не знаю, где искать и как его решить

Я пытался искать в Интернете, но ничего не нашел. Этот тест я скопировал с моего примера учителя, и в своем проекте, который он показал в классе, он работал, но не в моем проекте.

Это фактический тест и настройка

        private const int Id = 1;
        private const int CompanyId = 1;
        private readonly Guid _userId = default(Guid);
        private readonly IMapper _mapper;
        private readonly EventRepository _eventRepository;
        public ReadEventsTests()
        {
            var dataList = new List<Event>
            {
                new Event
                {
                    EventId = Id,
                    Company = new Company { CompanyId = CompanyId}
                }

            };

            var databaseSet = CustomTestUtils.MockdatabaseSet(dataList);
            var mockContext = Substitute.For<OganizeContext>();
            mockContext.Events.Returns(databaseSet);

            _eventRepository = Substitute.For<EventRepository>(mockContext);
            _mapper = Substitute.For<IMapper>();
        }

        [Fact]
        public void GetEventByIdShouldCallGetByIdOnRepository()
        {
            // Arrange
            var testResult = new EventDto { EventId = Id };
            _mapper.Map<EventDto>(Arg.Any<Event>()).Returns(testResult);

            // Act
            IReadEventService sut = CreateSut();
            var result = sut.GetEventById(Id, person.Guid);

            // Assert
            _eventRepository.Received(1).GetById(Id);
        }

        /// <summary>
        /// Will create the system under test.
        /// </summary>
        /// <returns>Sut</returns>
        private IReadEventService CreateSut()
        {
            return new ReadEventService(_eventRepository, _mapper);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...