Używanie przez test wartości zwracanych przez inny test

0

Mam przypadek że jeden test trwa dość długo, a drugi nie ma sensu jeżeli ten pierwszy nie przejdzie
Tak naprawdę potrzebuję jednego dłuższego testu ale chciałbym rozbić je na dwa mniejsze

Powiedzmy że mam testy:

[Fact]
public string Test1()
{
    Thread.Sleep(5000); // coś co długo trwa
    Assert.True(true);
    return "a";
}

[Fact]
public void Test2()
{
    var v = Test1();

    // zrób coś dalej z obiektem z testu1
}

nie ma sensu powtarzania tych samych operacji w teście 2 jeżeli wiem że test 1 się powiódł więc chciałbym je cacheować i operować na nim dalej w teście 2
operacje z testu 1 chciałbym żeby wykonywały się tylko raz niezależnie czy uruchomiono tylko jeden czy wszystkie testy

czy są jakieś wbudowane mechanizmy do tego w XUnit czy muszę robić brzydkie obejścia zachowując obiekt w jakiejś zmiennej statycznej

0

Testy powinny być niezależne od siebie. To, że jakiś test potrzebuje danych, które przypadkiem generuje inny test, nie tu ma znaczenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1