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.

C# – Pruebas unitarias – Inicializando campos privados – ASP.NET Core 5 – Prueba NUnit

Soy nuevo en las pruebas unitarias y actualmente estoy tratando de probar un método que obtiene filas de datos utilizando Entity Framework desde una base de datos de SQL Server.

El problema es que tengo 3 campos que son privados y de solo lectura, y necesito pasar esos tres campos a un método. Pero como no puedo hacer un constructor, los 3 valores son nulos por defecto.

¿Cómo puedo inicializar campos privados y de solo lectura cuando estoy realizando pruebas unitarias y necesito comunicarme con una base de datos?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Hay varias formas de inicializar campos privados de solo lectura al realizar pruebas unitarias en un método que utiliza Entity Framework para recuperar datos de una base de datos de SQL Server. Un enfoque es utilizar la inyección de dependencias y pasar los valores necesarios como parámetros al método que se está probando. Esto te permite simular o crear un objeto ficticio de las dependencias e inyectar los valores necesarios para los campos privados de solo lectura durante la prueba unitaria.

    Otro enfoque es utilizar un archivo de configuración específico para las pruebas que reemplace el archivo de configuración predeterminado utilizado por Entity Framework. En el archivo de configuración específico para pruebas, puedes especificar los valores necesarios para los campos privados de solo lectura. Durante las pruebas unitarias, puedes cargar el archivo de configuración específico para pruebas en lugar del archivo de configuración predeterminado, lo cual utilizará los valores especificados para los campos privados de solo lectura.

    Por último, puedes crear un constructor específico para las pruebas en la clase que contiene el método que se está probando. Este constructor puede aceptar los valores necesarios para los campos privados de solo lectura como parámetros e inicializarlos en consecuencia. Durante las pruebas unitarias, puedes instanciar la clase utilizando el constructor específico para pruebas y pasar los valores necesarios para los campos privados de solo lectura.

    En general, existen múltiples formas de inicializar campos privados de solo lectura al realizar pruebas unitarias en métodos que utilizan Entity Framework para recuperar datos de una base de datos de SQL Server. En última instancia, esto depende de tu caso de uso específico y preferencias.

Comments are closed.