Son zamanlarda özellikle Google Test ve Boost Test Kitaplığı'na alternatif olarak xUnit ++ yayınladım ( karşılaştırmaları görüntüleyin ). XUnit.Net'i biliyorsanız, xUnit ++ için hazırsınız.
#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));
}
Ana Özellikler:
- İnanılmaz derecede hızlı: testler aynı anda yapılır .
- Taşınabilir
- Otomatik test kaydı
- çok onaylama türü (Boost'un xUnit ++ üzerinde hiçbir şeyi yoktur)
- Koleksiyonları karşılaştırır yerel olarak .
- Bildiri üç olarak gelir düzeyde gelir:
- ölümcül hatalar
- ölümcül olmayan hatalar
- uyarılar
- Kolay onaylama kaydı:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
- Test kaydı:
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
- Fikstür
- Veriye dayalı testler (Teoriler)
- Hangi testleri yapacağınızı seçin göre :
- Özellik eşleme
- Alt dize eşleşmesinin adı
- Test Paketleri