C++ 單元測試庫:UnitC++
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
} 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!