Saya baru-baru ini merilis xUnit ++ , khususnya sebagai alternatif untuk Google Test dan Boost Test Library (lihat perbandingannya ). Jika Anda terbiasa dengan xUnit.Net, Anda siap untuk 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));
}
Fitur utama:
- Sangat cepat: tes berjalan bersamaan .
- Portable
- Registrasi tes otomatis
- Banyak tipe pernyataan (Tidak ada peningkatan di xUnit ++)
- Membandingkan koleksi secara asli.
- Pernyataan muncul dalam tiga tingkatan:
- kesalahan fatal
- kesalahan tidak fatal
- peringatan
- Mudah menegaskan logging:
Assert.Equal(-1, foo(i)) << "Failed with i = " << i;
- Uji logging:
Log.Debug << "Starting test"; Log.Warn << "Here's a warning";
- Perlengkapan
- Tes berbasis data (Teori)
- Pilih tes yang akan dijalankan berdasarkan:
- Pencocokan atribut
- Beri nama substring matchin
- Suites Uji