У меня есть проект с веб-интерфейсом 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
}
}
Как я могу это исправить?
спасибо за помощь