Kendinize bir iyilik yapın ve CppUnit ve boost::unit_test
'un tıkanık ve tekrarlı olmasını sağlayan Google Test adresine gidin. Örneğin
, basit bir fikstür var ki:
class MyFixture : public ::testing::Test
{
protected:
int foo;
virtual void SetUp() { foo = 0; }
};
sizin fikstür için bir test eklemek için bunu yazmak!
TEST_F(MyFixture, FooStartsAtZero) {
EXPECT_EQ(0, foo);
}
Tek ihtiyacınız olan bu. Tüm testlerin isimlerini tekrarlayan, açık testsuit beyanlarının veya ayrı bir gündemin eksikliğine dikkat edin.
$ g++ -o utest utest.cpp -lgtest -lgtest_main
içinde olarak derlemek ve
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from MyFixture
[ RUN ] MyFixture.FooStartsAtZero
[ OK ] MyFixture.FooStartsAtZero (0 ms)
[----------] 1 test from MyFixture (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 1 test.
almak için testi (kendin testlerini geçmeyle ilgili güzel yeşil metni görmek için yürüt!)
Bu sadece başlangıç. Başka neler olabileceğini görmek için Google Test primer ve advanced guide'a bir göz atın. Bu daha az aksak Boost.Test alternatif daha ne kadar
Muhtemelen http://stackoverflow.com/questions/242926/comparison-of-c-unit-test-frameworks adresinin faydalı yanıtlarını bulabilirsiniz. –
@Alex: Gönderiniz için teşekkürler, gerçekten faydalı bazı bağlantılar var. – chrmue
İyi link, AAlex, +1. @chrmue, açıklığa kavuşturmak için - aradığınız karşılaştırmayı bir Boost kullanıcısı mı yoksa almalı mıyım? “Geliştirmek için Boost'u kullanırsam Boost metnini kullanmanın bir avantajı var mı?” Diye soruyor musunuz? ya da sadece basit bir karşılaştırma mı arıyorsunuz? – Mawg