Bonjour,
J'ai un problème sur mes tests. Alors je suis entrain de faire une application qui fait une liste de Todo. Tout marche, par contre j'aimerais tester mon controleur, mais mon vrai controleur sans faire de Mock ni de faux repository.
Quand je fais:
J'obtiens que ma liste est nulle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 [TestMethod] public async Task TesterLaCategorieControllee() { Category categorieBidon = new Category { Id = 25, Titre = "bidon" }; var categorieController = new CategoriesController(_userManager, _signInManager, _emailSender, _logger, _context); await categorieController.CreerCategorie(categorieBidon); Assert.IsNotNull(_context.Categorie); /*Assert.AreEqual(categorieBidon, _context.Categorie.Find(categorieBidon));*/ }
Pour le reste, ma catégorie CreerCategorie et dans CategoriesController:
Et ma liste de Todos et de Categories est là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public async Task<IActionResult> CreerCategorie([Bind("Id,Titre")] Category categorie) { if (ModelState.IsValid) { _context.Add(categorie); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } return View(categorie); }
Il considère que ma liste de catégories est nulle même après la création d'une catégorie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); // Customize the ASP.NET Identity model and override the defaults if needed. // For example, you can rename the ASP.NET Identity table names and more. // Add your customizations after calling base.OnModelCreating(builder); } public DbSet<Todo> Todo { get; set; } public DbSet<Category> Categorie { get; set; } } }
Si vous avez des idées je suis preneur.
Merci d'avance.
Partager