我有一个使用asp.net网络api的项目,该项目使用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
}
}
我该如何解决? 谢谢您的帮助