J'essaie de tester un de mes projets qui utilise l'identité ASP (EF core) dans VS2017.ASP Core Identity - Test d'unité In Memory Error
La question que j'ai est quand je crée mon contexte DB utilisant des noyaux EF en mémoire, il explose avec l'erreur suivante -
Message: System.IO.FileLoadException: Impossible de charger le fichier ou l'assemblage 'Microsoft.Extensions.DependencyInjection.Abstractions, Version = 1.1.0.0, Culture = neutre, PublicKeyToken = adb9793829ddae60' ou l'une de ses dépendances. La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)
J'utilise les paquets NuGet suivants
- Microsoft.AspNetCore.Identity.EntityFrameworkCore - 1.1.2
- Microsoft.EntityFrameworkCore.InMemory - 1.1.2
Les repos sont des packages xunit par défaut que vous obtenez lors de la création du projet.
Toute aide serait grandement appréciée, passer de nombreuses heures à essayer de comprendre ce qui se passe mal:/
Voici le code de test unitaire:
public class TestDbContext : IdentityDbContext<User>
{
public TestDbContext(DbContextOptions<TestDbContext> options) : base(options)
{
}
}
public class User : IdentityUser
{
}
[Fact]
public void Test1()
{
var builder = new DbContextOptionsBuilder<TestDbContext>();
builder.UseInMemoryDatabase();
var context = new TestDbContext(builder.Options);
}
comment essayez-vous de créer le contexte EF et moqué dbsets? utilisez-vous un cadre moqueur comme Moq? et avez-vous un exemple de code? –
désolé, vient de voir un exemple de projet, je vais jeter un coup d'oeil et de voir si quelque chose apparaît à moi –
L'exemple fonctionne très bien pour moi. Je ne pense pas que j'ai fait quelque chose de spécial non plus.C'est ce que j'ai fait, téléchargé, vérifié qu'il n'y avait rien de malveillant: P, a couru Nuget restaurer, ligne de commande ouverte et tapé dans dotnet restaurer, a couru le test unitaire, a obtenu un contect retour –