2016-01-05 14 views
14

Ne aşağıdaki MSTest kod xUnit eşdeğerdir:mstest en Assert.Inconclusive ait xUnit eşdeğerdir

Assert.Inconclusive("Reason"); 

Bu alışılmış yeşil veya kırmızı bir sarı testi sonucunu verir. Testin belirli koşullar nedeniyle çalıştırılamayacağını ve bu şartlar yerine getirildikten sonra testin yeniden çalıştırılmasının gerektiğini iddia etmek istiyorum.

+0

gider? https://xunit.github.io/docs/comparisons.html – jessehouwing

+0

En son sürüm 2.1.0. –

cevap

7

Fact veya Theory öznitelikleri içindeki Skip parametresini kullanmanın bir yolu vardır. çalıştırdığınızda bu sonucu verir

[Fact(Skip = "It's not ready yet")] 
public void ReplaceTokensUnfinished() 
{ 
    var original = ""; 
    var expected = ""; 
    var tokenReplacer = new TokenReplacer(); 
    var result = tokenReplacer.ReplaceTokens(original, _tokens); // (_tokens is initialised in a constructor) 
    Assert.Equal(result, expected); 
} 

: Bir şeye kadar yapabileceği

enter image description here

+9

Bunu sevmiyorum. Bunun herhangi bir istisna veya başarısızlık anlamına gelmesi, testin atlanması anlamına gelmez mi? Sadece belirli koşullar altında sonuçsuz kalmayı ve aksi halde başarısız olma yeteneğini istiyorum ... – Kody

+0

Bu doğru, testi atlıyor. Sanki ihtiyacın olanı yapamaz gibi geliyor. xUnit açık kaynak olsa da, fonksiyonunuzu buna ekleyebilirsin;) – testpattern

+1

Ek olarak, Teoriye Atla'yı eklemek sadece tek seferden ziyade tüm testleri (tüm "teoriler" için) atlar. – Kody

4

iyi şey kitaplığında uygulanan Xunit.SkippableFact

[SkippableFact] 
public void SomeTest() 
{ 
    var canRunTest = CheckSomething(); 
    Skip.IfNot(canRunTest); 

    // Normal test code 
} 

kullanmaktır Bu, en az olacak Listede sarı göz ardı edilmiş bir test durumu olarak görünmesini sağlayın.

Kredi kullandığınız xUnit sürümü hiçbiri vardı 1.x versiyonda https://stackoverflow.com/a/35871507/537842

+0

.NET Core 2, .NET Standard 2'de kullanılamıyor. .NET Framework 4.7 – Kody

+0

Bir Bu konuda başvuruda bulunduğum için 'netcoreapp2.0' hedefleyen bir xUnit projesinde kullanıyorum. – Anttu

+0

Bağımlılıklarınızı kontrol edin, .NET Standard 2'yi derlemiyor. .NET Framework 4.5 ile derleniyor. – Kody