jeudi 15 octobre 2020

How to get the name of the instance disposed by using reflection

I am building some integration tests for my database stored procedures. I have setup an xUnit project and implemented Fixture pattern. To show you:

public class MyTableTest : IClassFixture<DatabaseFixture>
{

    public MyTableTest()
    {
        //DO SOMETHING
    }

    [Fact]
    public void Test()
    {
        //DO SOMETHING
    }
}

And:

public class DatabaseFixture : IDisposable
{
    public void Dispose()
    {
        // ... clean up test data from the database ...
    }
}

This DatabaseFixture is something that will be shared among all of my test classes. Why? Because I want some common logic happening at the end of every test, such as cleanup.

Point is that I need to know which table to clean, which in my example would be MyTable. Such information I would retrieve by using reflection when the Dispose method will run against the instance of MyTableTest being disposed . How can I achieve this? Is it even possible (and correct) trying to achieve this? Thanks in advance.





Aucun commentaire:

Enregistrer un commentaire