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