Я бы переписал ваш тест примерно так:
[TestFixture]
public void GetAsync_GetAll_ReturnOkHttpResultWithListOfMyModels()
{
List<MyModel> expectedModel = new List<MyModel>
{
new MyModel
{
ID = 1,
Name = "Test1",
Created = DateTime.Now,
Creator = "Admin"
},
new MyModel
{
ID = 2,
Name = "Test2",
Created = DateTime.Now,
Creator = "Admin"
}
};
var sut = new ModelController();
var result = sut.GetAsync();
//check you can cast the result first
Assert.That(result.Result, Is.AssignableTo<OkNegotiatedContentResult<IEnumerable<MyModel>>());
var typedResult = (OkNegotiatedContentResult<IList<MyModel>>)result.Result;
//Assert the actual data.
}
Создание экземпляра вашего ModelController.Это ваша тестируемая система.Вы должны использовать NSubstitute, Moq, FakeItEasy, ... чтобы смоделировать / симулировать зависимости тестируемой системы.На данный момент у вас их нет.Вы упомянули Dapper, так что вы захотите смоделировать эту зависимость, как только вы ее реализуете.
Вам не нужно также помечать метод теста как асинхронный.
Использовать жесткое приведение вместо«как» приведет к исключению, если он не может привести его, что провалит тест.Кроме того, вы уже заявили, что это приведение должно работать в приведенной выше строке.
Кроме того, это просто псевдокод, который не гарантированно выполняется.