crpcut(發音為“廢話切”)是隔間強大的Posix C ++單元測試。隨著crpcut很容易寫,其他單元測試框架無法管理的測試。
入門例如:
一個例子測試的std :: string的部分:
 的#include
&NBSP;的#include <字符串>
&NBSP;結構apastr //夾具mosts測試
&NBSP; {
&NBSP; apastr():S(“APA”){}
&NBSP;的std ::字符串s;
&NBSP;};
&NBSP;測試套件(基礎知識)
&NBSP; {
&NBSP; TEST(default_constr_and_destr)
&NBSP; {
&NBSP;的std ::字符串s;
&NBSP; ASSERT_TRUE(s.empty());
&NBSP; ASSERT_EQ(s.length(),0);
&NBSP;}
&NBSP; TEST(constr_from_char_array,apastr,
&NBSP; DEPENDS_ON(default_constr_and_destr))
&NBSP; {
&NBSP; ASSERT_EQ(s.length(),3UL);
&NBSP;}
&NBSP; TEST(按,apastr,
&NBSP; DEPENDS_ON(default_constr_and_destr))
&NBSP; {
&NBSP; ASSERT_EQ(s.at(1)中,'P');
&NBSP;}
&NBSP;}
&NBSP;測試套件(錯誤,DEPENDS_ON(ALL_TESTS(基礎知識)))
&NBSP; {
&NBSP; TEST(at_out_of_range,apastr,
&NBSP; EXPECT_EXCEPTION(的std :: out_of_range))
&NBSP; {
&NBSP; s.at(4);
&NBSP;}
&NBSP; TEST(index_oper_out_of_range,apastr,
&NBSP; EXPECT_SIGNAL_DEATH(SIGABRT)
&NBSP; NO_CORE_FILE)
&NBSP; {
&NBSP; S [4];
&NBSP;}
&NBSP;}
&NBSP; INT主(INT ARGC,字符* argv的[])
&NBSP; {
&NBSP;返回crpcut :: test_case_factory :: RUN_TEST(的argc,argv的);
&NBSP;}
從類似的測試的好處被分為測試套件。測試套件可以依賴於其他的測試套件,這意味著如果它依賴於所有測試都成功地完成了包含測試將只運行。結果可使用若干ASSERT宏進行驗證。測試可以使用夾具來表達共同的內容。測試可以預計到的異常退出,或死亡。未達到預期的錯誤。在stderr和stdout消息gaught,並列入結果的日誌。
為什麼crpcut
最重要的是,它必須容易編寫測試。隨著crpcut,你專注於你的測試結構和測試邏輯,而不是由您的測試環境所施加的限制。
隨著crpcut,每個測試用例運行在自己的進程和自己的工作目錄。如果測試失敗的情況下,這個過程會立即終止,它進一步危害之前。這意味著,每一個測試用例開始從一個乾淨的石板,不受其他測試。這是條塊分割。
這也意味著,測試套件的繼續,即使一個測試崩潰。您可以設置最後期限測試用例,如果在允許的時間是嚴重透支,測試用例過程中被殺死。這兩個組成部分的魯棒性。
可以測試用例之間和之間的測試套件定義的依賴關係,這樣,如果一個基本的測試失敗,這是基於基本功能測試甚至不會被運行。
該crpcut主進程沒有分配的啟動測試案例的過程中任何時間動態內存,這樣你就可以運行crpcut使用的內存測試工具,如Valgrind的,如果有內存分配時測試用例進程終止時,您可以放心,你發現在你的測試內存洩漏。
如果你有一個多核CPU,它可能是有益的並行運行幾個測試用例。 crpcut允許。
如果有留在測試過程“測試用例的過程後,工作目錄中的文件已經終止,測試用例被認為失敗。工作目錄是原封不動由crpcut,為您檢查
什麼在此版本中是新的:
- 在這個版本支持與舊版本的CMake分佈。
什麼是1.9.1版本,新的:
- 在libcrpcut_basic.so建,但沒有安裝
什麼是1.8.4版本,新的:
- 在這是一個小bug修復版本修正Valgrind的儀表問題,測試的依賴和XML報告故障測試時間屬性。
什麼是1.8.2版本,新的:
- 在這個小的增強功能,使命令行參數 - -timeout-乘數=因素現在也對超時夾具建設和破壞作用。
什麼是1.8.1版本,新的:
- 在這個小的增強功能,使命令行參數 - -timeout-乘數=因素現在也對超時夾具建設和破壞作用。
什麼在1.7.2版本新:
- 在該版本修復了NO_CORE_FILE測試一個小錯誤發生在Linux上時的/ proc / SYS /內核/ core_pattern描述管道的核心轉儲到一個程序,而不是保存到一個文件中。 修改
什麼是1.6.1版本,新的:
- 在這是一個補丁的漏洞,在某些案件缺少親密的blocked_tests名單上造成畸形XML輸出。
什麼是1.6.0版本,新的:
- 在新的特點是一個額外的可選參數ASSERT_THROW ()和VERIFY_THROW()的檢查異常對象的值,二istream的基礎版本GET_PARAMETER()來挑從命令行傳遞的值,和選項來構建libcrpcut為靜態或共享庫。
什麼版本1.5.0的新:
- 在主要的新功能標記的測試。標籤是一個測試選擇方法正交於該測試包的。標籤也可用於測試是關鍵的(例如,回歸)和測試都是非關鍵區分(例如,功能目前製作。)
- 在實驗支持,也可用於裝飾測試報告用,例如,ANSI顏色逃逸。
評論沒有發現