मैंने हाल ही में xUnit ++ जारी किया है , विशेष रूप से Google टेस्ट और बूस्ट टेस्ट लाइब्रेरी ( तुलना देखें ) के विकल्प के रूप में। यदि आप xUnit.Net से परिचित हैं, तो आप xUnit ++ के लिए तैयार हैं।
#include "xUnit++/xUnit++.h"
FACT("Foo and Blah should always return the same value")
{
Check.Equal("0", Foo()) << "Calling Foo() with no parameters should always return \"0\".";
Assert.Equal(Foo(), Blah());
}
THEORY("Foo should return the same value it was given, converted to string", (int input, std::string expected),
std::make_tuple(0, "0"),
std::make_tuple(1, "1"),
std::make_tuple(2, "2"))
{
Assert.Equal(expected, Foo(input));
}
मुख्य विशेषताएं:
- अविश्वसनीय रूप से तेज़: परीक्षण समवर्ती रूप से चलते हैं ।
- पोर्टेबल
- स्वचालित परीक्षण पंजीकरण
- कई जोर प्रकार (बूस्ट xUnit ++ पर कुछ भी नहीं है)
- मूल संग्रह की तुलना करता है।
- तीन स्तरों में मुखरता आती है :
- घातक त्रुटियां
- गैर-घातक त्रुटियां
- चेतावनी
- आसान मुखर लॉगिंग:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
- टेस्ट लॉगिंग:
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
- फिक्स्चर
- डेटा-चालित परीक्षण (सिद्धांत)
- चयन करें कि किन परीक्षणों के आधार पर चलना है:
- मेल मिलाप करना
- नाम प्रतिस्थापन स्ट्रिंग
- परीक्षण सूट