Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

449
Vistas
No se puede simular el objeto SFTPClient de SSH.Net para el marco de casos de prueba de la unidad de Microsoft

He usado el objeto SftpClient de SSH.Net para realizar operaciones de carga y descarga en el servidor.

Estoy tratando de escribir casos de prueba de unidad para la clase que usa este objeto SftpClient.

La clase en sí se burla, pero no puedo configurar un objeto de cliente sin tener que conectarme al servidor, lo cual no es correcto.

 public class MockFTPStreamRepository : IFTPStreamRepository { public async Task<MySFTFReposResults> MyMethod1(MyDTO dto) { MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); SftpClient myClient = new SftpClient("ftp://localhost", "", ""); sftpClient.Connect(); writer.Write("Some Content"); writer.Flush(); stream.Position = 0; return new MySFTFReposResults { IsTransferSuccess = true, FileStream = stream, sftpClient = myClient}; } }

No puedo proporcionar un servidor ftp real y las credenciales anteriores para conectarme, ya que eso no es válido para otros entornos.

¿Hay alguna manera de obtener un objeto SftpClient válido de esto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como esta es una clase concreta, la prueba de sus métodos no se puede realizar sin crear una conexión real. Sin embargo, hay varias formas de probar esto.

La primera es envolviendo el SftpCLient en una interfaz y usando Constructor Injection para crear una costura. Luego, con el marco Moq , puede simular las llamadas de método que llama desde sus propios métodos.

También puede crear un servidor sftp local y crear un espejo de los casos del mundo real para que pueda probar el comportamiento de sus métodos.

También podría ser que haya un paquete nuget que admita el servidor SFTP en memoria.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda