C++ 单元测试库:UnitC++
                 jopen
                 11年前
            
                    UnitC++是一个轻量级、只包含头文件的C++库用于简化单元测试。 UnitC++的目的是使它很容易以一种可移植的方式来测试C+ +代码。
  
Now you are ready to write the test code. UnitC++ provided some helpful macros for writing tests. Here is a list of them.
TEST_EQUAL(A, B) TEST_NOT_EQUAL(A, B) TEST_LESS_THAN(A, B) TEST_MORE_THAN(A, B) TEST_APPROX_EQUAL(A, B, TOLERANCE) TEST_TRUE(A) TEST_FALSE(A) TEST_THROWS(FUNCTION, EXCEPTION, ...)
So here is a filled out version of the above example of a test.
#include <UnitCpp/Test.h>    TEST(MyString, length_test)  {    MyString str("This is a string");    TEST_EQUAL(str.length(), 16);    TEST_NOT_EQUAL(str.length(), 17);    TEST_LESS_THAN(str.length(), 20);    TEST_MORE_THAN(str.length(), 10);    TEST_APPROX_EQUAL(str.length(), 15, 1.1); // test the length is within 1.1 of 15  }    TEST(MyString, validity_test)  {    MyString invalid_string;    TEST_FALSE(invalid_string.valid());      MyString valid_string("");    TEST_TRUE(valid_string.valid());    #ifdef UNITCPP_TEST_THROWS_AVAILABLE    TEST_THROWS([&](){invalid_string.length();}, MyString::InvalidStringException);  #endif // UNITCPP_TEST_THROWS_AVAILABLE    }