создать контекст для использования в модульном тесте - PullRequest
0 голосов
/ 13 января 2019

У меня есть проект с веб-интерфейсом asp.net, который использует Identity для авторизации и т. Д.

Теперь я хочу написать для этого юнит-тест, но не знаю как?

У меня есть Context, который использует IdentityDbContext, как показано ниже:

public class MyContext: IdentityDbContext<Users, IdentityRole<int>, int>
{
  public ControllerDbContext(DbContextOptions<ControllerDbContext> options)
        : base(options)
    {
        Database.Migrate();
    }
    public DbSet<Student> Stu{ get; set; }
    public DbSet<Book> Boo{ get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
      .....
    }
}

и у меня есть контроллер, как это:

[Route("api/[controller]")]
[ApiController]
public class ValueController : ControllerBase
{
    private readonly MyContext _context;

    public ValueController (MyContext context)
    {
        this._context = context;
    }

    public IActionResult Post([FromBody] data)
    {
        .... (other operation)
    }

}

Теперь я хочу написать модульный тест для этого, я запутался:

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
       var controller = new ValueController() //error, I need Context
    }
}

Как я могу это исправить? спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...