小编MSR*_*MSR的帖子

如何在 xunit 中使用 moq 测试返回 IEnumerable<model> 的异步 Task<IActionResult>?

我想测试我的控制器的 GetMoviesAsync。我不知道我的 Moq 设置哪里做错了。我从 GetMoviesAsync 获得 0 个项目。

我究竟做错了什么?

// Api-控制器:

   public interface ICommand
   {
        Task<IEnumerable<Movie>> GetMoviesAsync();
   }

   public class SampleController : ControllerBase
    {
        private readonly ICommand movieCommand;

        public SampleController(ICommand command)
        {
            movieCommand = command;
        }

        [HttpGet]
        public async Task<IActionResult> GetMoviesAsync()
        {
            var movies = await movieCommand.GetMoviesAsync();
            return Ok(movies);
        }
    }
Run Code Online (Sandbox Code Playgroud)

// 单元测试:

public class SampleControllerTest
    {
        private IEnumerable<Movie> MovieList()
        {
            IList<Movie> movies = new List<Movie>()
            {
                new Movie()
                {
                    ID =1,
                    Title = "Test",
                    ReleaseDate = DateTime.Now,
                    RunningTimeInMinutes = …
Run Code Online (Sandbox Code Playgroud)

c# moq xunit asp.net-core asp.net-core-webapi

4
推荐指数
1
解决办法
2632
查看次数

标签 统计

asp.net-core ×1

asp.net-core-webapi ×1

c# ×1

moq ×1

xunit ×1