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.

Tags:  ,

Answer

  1. Avatar for davy.ai

    En Xunit, el equivalente de un método de configuración en NUnit es un constructor o la interfaz IClassFixture.

    Si desea ejecutar algunas líneas de código antes de cada prueba, puede crear un constructor en su clase de prueba y agregar el código deseado en él. El constructor se ejecutará antes de cada método de prueba.

    Alternativamente, puede usar la interfaz IClassFixture y crear una clase de fixture que contenga el código que desea ejecutar antes de cada prueba. La clase de fixture debe implementar la interfaz IDisposable y proporcionar un método Dispose que limpie cualquier recurso utilizado por el código que agregó.

    Aquí hay un ejemplo de cómo usar el enfoque del constructor:

    public class MyTests
    {
        private readonly SomeService _service;
    
        public MyTests()
        {
            _service = new SomeService();
            // hacer alguna configuración aquí
        }
    
        [Fact]
        public void Test1()
        {
            // código del método de prueba aquí
        }
    
        [Fact]
        public void Test2()
        {
            // código del método de prueba aquí
        }
    }
    

    Y aquí hay un ejemplo de cómo usar el enfoque de IClassFixture:

    public class MyFixture : IDisposable
    {
        public MyFixture()
        {
            // hacer alguna configuración aquí
        }
    
        public void Dispose()
        {
            // código de limpieza aquí
        }
    }
    
    public class MyTests : IClassFixture<myfixture>
    {
        private readonly SomeService _service;
    
        public MyTests(MyFixture fixture)
        {
            _service = new SomeService();
            // código de configuración adicional aquí
        }
    
        [Fact]
        public void Test1()
        {
            // código del método de prueba aquí
        }
    
        [Fact]
        public void Test2()
        {
            // código del método de prueba aquí
        }
    }
    

    En ambos casos, el código en el constructor o en la clase de fixture se ejecutará antes de cada método de prueba.

Comments are closed.