Итак, я изучаю тесты 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);
}