2016-05-19 18 views
7

Dokonuję przejścia z NUnit na XUnit (w języku C#), a ja pisałem kilka "testów zintegrowanych" (IT), że niekoniecznie chcę, aby biegacz testowy działał jako część mojego procesu automatycznej kompilacji. Zwykle robię to dla ręcznego testowania, kiedy pełny proces od końca do końca może nie działać ze względu na czynniki środowiskowe (brakujące dane itp.).Czy możesz oznaczyć testy XUnit jako jawne?

W NUnit można oznaczyć test za pomocą Explicit attribute i po prostu zostanie on pominięty przez biegacza testowego (chyba że oznaczyłeś test konkretnym numerem Category attribute i powiedziałeś biegiem testowemu, aby wyraźnie wskazał tę kategorię).

Czy XUnit ma podobny sposób wykluczania testów z testu?

Odpowiedz

1

Można użyć atrybutu [Trait] za to, podobnie jak w xUnit example, np

[Trait ("Category", "Integration")] 

Ten project trwa to trochę dalej i dziedziczy kategorie jak jednostki, integracji itp

+3

nie jasno przedstawiają sposób ozdobić metody badawczej w taki sposób, że będzie on mógł być ręcznie testowane ale nie biegać z całego zestawu testowego. –

7

Myślę, że I found it. Wygląda na to, że możesz zmodyfikować atrybut [Fact] w następujący sposób: [Fact(Skip="reason")]. Pominie to test, ale nie będziesz w stanie uruchomić go ręcznie bez zmiany jego właściwości.

Będę szukał lepszego sposobu.

2

Jimmy Bogard rozwiązał to przy pomocy ładnej RunnableInDebugOnlyAttribute. Zobacz ten post na blogu: Run tests explicitly in xUnit.net

public class RunnableInDebugOnlyAttribute : FactAttribute 
{ 
    public RunnableInDebugOnlyAttribute() 
    { 
     if (!Debugger.IsAttached) 
     { 
      Skip = "Only running in interactive mode."; 
     } 
    } 
} 
Powiązane problemy