Nei test di integrazione, utilizzo una classe TestServer
per lavorare verso un'istanza del server di test per i miei test di integrazione. In RC1, ho istanziare utilizzando il seguente codice:Test di integrazione interrotti dopo la migrazione a ASP.NET Core RC2
var server = new TestServer(TestServer.CreateBuilder().UseStartup<Startup>());
Su RC2, TestServer.CreateBuilder() è stato rimosso. Pertanto, ho cercato di creare un nuovo TestServer utilizzando il seguente codice:
var server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
Il problema che sto affrontando è che dopo RC2, il runtime è in grado di risolvere le dipendenze per DI, in modo che esso genera eccezioni su Configura metodo per la classe di avvio. Il sistema tuttavia si avvia se avvio il server attuale (non il progetto di test). L'eccezione generata è la seguente:
System.Exception : Could not resolve a service of type 'ShikashiBot.IShikashiBotManager' for the parameter 'botManager' of method 'Configure' on type 'ShikashiBot.Startup'.
Attualmente sto usando il seguente pacchetto per il test di host: Microsoft.AspNetCore.TestHost": "1.0.0-rc2-final
Sembra che manchino alcuni tipi dal contenitore DI. Ma il tipo non proviene da ASP.NET. Probabilmente è uno dei tuoi tipi 'ShikashiBot.IShikashiBotManager' –
@VictorHurdugaci come ho detto nel mio post originale, se fosse il caso, la mia applicazione non sarebbe iniziata se l'avessi avviata normalmente. Non sono state inoltre apportate modifiche agli elementi che sono stati aggiunti al contenitore DI durante la migrazione. – Martin
Sei sicuro che non ci sia qualcosa in 'Program.cs' che non è incluso in' Startup'? –