2016-01-05 6 views
14

क्या निम्नलिखित MSTest कोड की XUnit बराबर है:MSTest के Assert.Inconclusive की XUnit बराबर

Assert.Inconclusive("Reason"); 

यह सामान्य हरे या लाल के बजाय एक पीले रंग की परीक्षा परिणाम देता है। मैं यह कहना चाहता हूं कि परीक्षण कुछ शर्तों के कारण नहीं चलाया जा सकता है और उन शर्तों को पूरा करने के बाद परीक्षण फिर से चलाया जाना चाहिए।

+0

को जाता है 1.x संस्करण में कोई नहीं है, XUnit का कौन सा संस्करण उपयोग कर रहे हैं वहाँ गया था? https://xunit.github.io/docs/comparisons.html – jessehouwing

+0

नवीनतम संस्करण 2.1.0। –

उत्तर

7

Fact या Theory विशेषताओं के भीतर Skip पैरामीटर का उपयोग करने का एक तरीका है।

[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); 
} 

जब चलाने कौन इस परिणाम देता है:

enter image description here

+9

मुझे यह पसंद नहीं है। इसका मतलब यह नहीं होगा कि कोई अपवाद या विफलता का मतलब है कि परीक्षा छोड़ दी गई है? मैं केवल कुछ परिस्थितियों में अनिश्चित होने की क्षमता चाहता हूं और अन्यथा विफल रहता हूं ... – Kody

+0

यह सही है, यह परीक्षण छोड़ देता है। ऐसा लगता है कि आपको जो कुछ चाहिए वह काफी नहीं कर सकता है। xUnit हालांकि ओपन सोर्स है, इसलिए आप अपनी कार्यक्षमता इसमें जोड़ सकते हैं;) – testpattern

+1

इसके अतिरिक्त, थ्योरी में छोड़ना केवल सभी रनों के लिए सभी परीक्षणों (सभी "सिद्धांतों" के लिए) छोड़ देता है। – Kody

4

बेस्ट बात एक कुछ जब तक कर सकते हैं पुस्तकालय में कार्यान्वित किया जाता Xunit.SkippableFact

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

    // Normal test code 
} 

उपयोग करने के लिए है यह कम से कम होगा इसे सूची में पीले रंग के अनदेखा परीक्षण मामले के रूप में दिखाएं।

क्रेडिट https://stackoverflow.com/a/35871507/537842

+0

.NET कोर 2, .NET मानक 2, .NET Framework 4.7 – Kody

+0

में उपलब्ध नहीं है उस पर संदर्भ क्योंकि मैं इसे xUnit प्रोजेक्ट लक्ष्यीकरण 'netcoreapp2.0' में उपयोग कर रहा हूं। – Anttu

+0

अपनी निर्भरताओं की जांच करें, यह .NET मानक 2 के लिए संकलित नहीं है। यह .NET Framework 4.5 के साथ संकलित है। – Kody