es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede resolver el servicio para el tipo ‘Microsoft.AspNetCore.Hosting.IHostingEnvironment’ con xunit.

Estoy tratando de usar las pruebas Resharper xunit.

Configuré una clase de prueba de la siguiente manera:

public class CropLossLandingPageServiceTest
{
    private readonly IWPCropLossRequestService cropLossRequestService;

    public CropLossLandingPageServiceTest(IWPCropLossRequestService cropLossRequestService)
    {
        this.cropLossRequestService = cropLossRequestService;
    }

    [Fact(DisplayName = "Banner Message Test")]
    public async void GetBannerMessageTest()
    {
        var result = this.cropLossRequestService.GetBannerMessage();
        Assert.NotNull(result);
    }
}

Obtengo este error:

System.TypeLoadException No se puede cargar el tipo
‘Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsExtensionWithDebugInfo’
desde el ensamblado ‘Microsoft.EntityFrameworkCore, Version=5.0.8.0,
Culture=neutral, PublicKeyToken=adb9793829ddae60’. en
xxx.WUOM.Data.Models.WFOrderMgmtContext.OnConfiguring(DbContextOptionsBuilder
optionsBuilder) en
Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()

¿Necesito configurar la inyección de dependencia en la clase de prueba? No debería tener que cambiar GetBannerMessageTest().

Enlace relacionado: https://stackoverflow.com/questions/68922808/unable-to-resolve-service-for-type-microsoft-aspnetcore-hosting-ihostingenviron/70585671#70585671

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el mensaje de error, parece haber un problema al cargar un tipo desde el ensamblado Microsoft.EntityFrameworkCore. Esto sugiere que puede haber un problema con las dependencias o la configuración del proyecto.

    No está claro en el código proporcionado si se ha configurado correctamente la inyección de dependencias. El constructor de CropLossLandingPageServiceTest toma un parámetro de tipo IWPCropLossRequestService, pero no está claro dónde se instancia este servicio o se inyecta en la clase de prueba.

    Para resolver el problema, puede ser necesario verificar la configuración y dependencias del proyecto para asegurarse de que estén configuradas correctamente. Además, puede ser necesario configurar la inyección de dependencias dentro de la clase de prueba para asegurarse de que los servicios o dependencias requeridos se resuelvan correctamente.

    También puede ser necesario llevar a cabo una investigación adicional para determinar la causa raíz del problema, ya que el mensaje de error no proporciona suficiente información para diagnosticar el problema con certeza.

Comments are closed.