亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rcunit_stepbystep.html

?? 一個做軟件測試的源碼,可以用于工程中軟件測試,全部為自己編寫,內付說明
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_Null(){    <span class="keywordtype">int</span> nRet = GetPrime(NULL, 4);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(0, nRet);}</pre></div><p>往 TestSample 測試集中添加測試用例。 <div class="fragment"><pre class="fragment"><a class="code" href="group__rcunit__write__test__suite.html#ga0">CUNIT_TEST_SUITE_BEGIN</a>(TestSample);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_NormalCase);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Zero);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Negative);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_One);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Null);<a class="code" href="group__rcunit__write__test__suite.html#ga4">CUNIT_TEST_SUITE_END</a>();</pre></div><p>注意:兩個測試集名字不能重復,不同測試集的測試用例的名字也不能重復。<h2><a class="anchor" name="analyse_results">分析測試結果</a></h2>到此為止,完成了所有的工作了,編譯整個 TestGetPrime 工程吧! 不過,并不順利,編譯結果如下:<p><div align="center"><img src="rcunit_stepbystep_errors.gif" alt="rcunit_stepbystep_errors.gif"><p><strong>編譯錯誤</strong></p></div> 雙擊錯誤信息,代碼窗口會跳轉到對應的代碼。<p><div align="center"><img src="rcunit_stepbystep_error_code.gif" alt="rcunit_stepbystep_error_code.gif"><p><strong>出錯代碼</strong></p></div> 這個測試用例不能通過,這說明功能函數 GetPrime 的實現有問題。<h2><a class="anchor" name="rectify_errors">修改代碼錯誤</a></h2>仔細的閱讀代碼及 Debug ,找出了代碼錯誤,修改后的代碼如下,在內層 while 循環增加了對 k 復位的操作: <div class="fragment"><pre class="fragment"><span class="keywordtype">int</span> GetPrime(<span class="keywordtype">int</span> arr[],<span class="keywordtype">int</span> nPrime){    <span class="keywordtype">int</span> count;          <span class="comment">/*已檢測出是素數的數的個數*/</span>    <span class="keywordtype">int</span> currentNumber;  <span class="comment">/*當前要檢測是否素數的數*/</span>    <span class="keywordtype">int</span> k;    <span class="keywordflow">if</span>(arr == NULL)            {        <span class="keywordflow">return</span> 0;    }    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(nPrime &lt;= 0)            {        <span class="keywordflow">return</span> 0;    }    <span class="keywordflow">else</span> <span class="keywordflow">if</span>(nPrime == 1)        {        arr[0] = 2;        <span class="keywordflow">return</span> 1;    }    <span class="keywordflow">else</span>    {        ;    }    arr[0] = 2;    count = 1;    currentNumber = 3;    <span class="keywordflow">while</span>(count &lt; nPrime)    {        k=0;        <span class="keywordflow">while</span>(arr[k] * arr[k] &lt;= currentNumber)        {            <span class="keywordflow">if</span>(currentNumber % arr[k] == 0)            {                <span class="comment">/*currentNumber是合數*/</span>                currentNumber += 2;                k = 0;       <span class="comment">/* == 開始新的素數搜索,k需要復位 == */</span>            }            <span class="keywordflow">else</span>             {                k++;             }        }        <span class="comment">/*currentNumber是素數*/</span>        arr[count++] = currentNumber;        currentNumber += 2;    }    <span class="keywordflow">return</span> nPrime;}</pre></div><p>再次編譯,所有的測試用例通過。<h2><a class="anchor" name="test_suite_resources">測試集的資源申請及釋放</a></h2>在測試中,可能一個測試集中的所有的測試用例都存在某些相同的動作。 例如:運行被測試函數前,申請緩沖區內存,運行完畢之后釋放緩沖區內存。 RCUnit 提供了為了測試集的初始化及資源釋放各提供了一個統一的接口。 要使用這兩個接口,我們需要在測試集中聲明使用該接口,并且實現這個函數。 采用這種方式的完整代碼如下: <div class="fragment"><pre class="fragment"><span class="preprocessor">#ifdef __cplusplus</span><span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {<span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="preprocessor">#include &lt;malloc.h&gt;</span><span class="preprocessor">#include &lt;<a class="code" href="rcunit_8h.html">rcunit/rcunit.h</a>&gt;</span><span class="preprocessor">#include "../GetPrime/Primer.h"</span><span class="preprocessor">#define NULL ((void*)0)</span><span class="preprocessor"></span><a class="code" href="group__rcunit__write__test__suite.html#ga0">CUNIT_TEST_SUITE_BEGIN</a>(TestSample);    <a class="code" href="group__rcunit__write__test__suite.html#ga1">CUNIT_HANDLE_SET_UP</a>(TestSample_setUp);    <a class="code" href="group__rcunit__write__test__suite.html#ga2">CUNIT_HANDLE_TEAR_DOWN</a>(TestSample_tearDown);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_NormalCase);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Zero);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Negative);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_One);    <a class="code" href="group__rcunit__write__test__suite.html#ga3">CUNIT_TEST</a>(TestSample_Null);<a class="code" href="group__rcunit__write__test__suite.html#ga4">CUNIT_TEST_SUITE_END</a>();<span class="keyword">static</span> <span class="keywordtype">int</span>* _pPrimeArray = NULL;CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_setUp(){    _pPrimeArray = (<span class="keywordtype">int</span>*)malloc(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>)*100);}CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_tearDown(){    free(_pPrimeArray);}<span class="comment">/* 測試普通的情況 */</span>CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_NormalCase(){    <span class="keywordtype">int</span> nRet = GetPrime(_pPrimeArray, 10);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(10, nRet);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(2, _pPrimeArray[0]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(3, _pPrimeArray[1]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(5, _pPrimeArray[2]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(7, _pPrimeArray[3]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(11, _pPrimeArray[4]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(13, _pPrimeArray[5]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(17, _pPrimeArray[6]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(19, _pPrimeArray[7]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(23, _pPrimeArray[8]);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(29, _pPrimeArray[9]);}<span class="comment">/* 測試n = 0的情況 */</span>CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_Zero(){    <span class="keywordtype">int</span> _pPrimeArray[5];    <span class="keywordtype">int</span> nRet = GetPrime(_pPrimeArray, 0);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(0, nRet);}<span class="comment">/* 測試n為負數的情況 */</span>CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_Negative(){    <span class="keywordtype">int</span> _pPrimeArray[5];    <span class="keywordtype">int</span> nRet = GetPrime(_pPrimeArray, -2);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(0, nRet);}<span class="comment">/* 測試n = 1的情況 */</span>CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_One(){    <span class="keywordtype">int</span> _pPrimeArray[5];    <span class="keywordtype">int</span> nRet = GetPrime(_pPrimeArray, 1);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(1, nRet);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(2, _pPrimeArray[0]);}<span class="comment">/* 測試空指針的情況 */</span>CUNIT_DECL_TEST <span class="keywordtype">void</span> TestSample_Null(){    <span class="keywordtype">int</span> nRet = GetPrime(NULL, 4);    <a class="code" href="group__rcunit__making__assertion.html#ga0">CUNIT_ASSERT_EQUAL</a>(0, nRet);}<span class="preprocessor">#ifdef __cplusplus</span><span class="preprocessor"></span>}<span class="preprocessor">#endif</span></pre></div> <hr/><table width="100%">  <tr>    <td align="right" valign="center">    如果對 RCUnit 有任何的疑問或建議,請聯系realdodo (<a href="mailto:realdodo@163.com">realdodo@163.com</a>)。    </td>  </tr></table></body> </html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲永久精品国产| 成人午夜激情在线| 国产精品一区二区x88av| 91美女在线观看| 久久久无码精品亚洲日韩按摩| 亚洲主播在线播放| 国产成人99久久亚洲综合精品| 717成人午夜免费福利电影| 国产精品毛片久久久久久久| 美女被吸乳得到大胸91| 91国偷自产一区二区开放时间 | 亚洲女同女同女同女同女同69| 日韩不卡在线观看日韩不卡视频| 91丨porny丨户外露出| 久久久综合网站| 久久精品国产99久久6| 欧洲亚洲国产日韩| 亚洲欧美日韩中文播放 | 欧美日韩一区二区三区四区| 欧美激情中文不卡| 狠狠色狠狠色综合系列| 欧美一级二级三级乱码| 图片区小说区国产精品视频| 欧美性一区二区| 亚洲免费av在线| 91蝌蚪国产九色| 亚洲手机成人高清视频| 不卡一区二区中文字幕| 国产欧美日韩另类一区| 丁香婷婷综合网| 亚洲国产高清不卡| 成人动漫av在线| 国产精品传媒入口麻豆| 风间由美一区二区三区在线观看 | 国内成人精品2018免费看| 日韩久久精品一区| 日本不卡视频一二三区| 日韩视频123| 久国产精品韩国三级视频| 日韩精品一区二区三区在线| 韩国毛片一区二区三区| 国产亚洲精品aa| aaa欧美日韩| 亚洲一线二线三线视频| 欧美精品v国产精品v日韩精品 | 五月综合激情婷婷六月色窝| 欧美主播一区二区三区美女| 午夜精品久久久久影视| 日韩一区二区三区在线观看| 卡一卡二国产精品| 国产欧美日韩综合| 91网站在线播放| 亚洲综合色网站| 欧美一级理论性理论a| 激情久久五月天| 欧美激情一区二区三区不卡| 99精品久久只有精品| 亚洲观看高清完整版在线观看| 日韩精品一区二区在线观看| 风流少妇一区二区| 亚洲国产精品一区二区久久 | 国产精品99久久久久久宅男| 国产欧美日韩中文久久| 91丨九色丨蝌蚪丨老版| 日韩精品欧美精品| 国产亚洲欧美在线| 欧美亚洲高清一区二区三区不卡| 久色婷婷小香蕉久久| 中文字幕一区二区三| 日韩一级大片在线观看| 成人午夜大片免费观看| 天天操天天干天天综合网| 久久久九九九九| 欧美日韩成人在线| 国产成a人亚洲| 日韩国产欧美三级| 国产精品美女久久福利网站| 欧美一区二区三区性视频| 不卡av电影在线播放| 日韩国产欧美在线视频| 中文字幕中文字幕在线一区 | 678五月天丁香亚洲综合网| 国产99久久精品| 奇米影视一区二区三区小说| 亚洲视频在线观看三级| 久久综合狠狠综合久久综合88| 欧美自拍丝袜亚洲| 成人视屏免费看| 国产自产高清不卡| 日韩精彩视频在线观看| 一区二区在线观看免费| 中文字幕不卡三区| 日韩一本二本av| 欧美天堂亚洲电影院在线播放| av不卡免费电影| 国产成人av电影在线播放| 久久激情五月激情| 天天综合网 天天综合色| 亚洲美女屁股眼交3| 亚洲欧美自拍偷拍色图| 亚洲国产精品二十页| 欧美精品一区二区三区在线| 日韩精品一区二区三区在线| 在线不卡免费欧美| 欧美精品在线一区二区三区| 欧美日韩免费在线视频| 欧美综合天天夜夜久久| 在线精品视频免费播放| 在线视频欧美精品| 99久久er热在这里只有精品66| 粉嫩一区二区三区在线看| 国产剧情一区在线| 国产一区二区三区在线观看免费视频 | 美女网站色91| 免费成人在线视频观看| 青青草视频一区| 青娱乐精品视频在线| 蜜臀91精品一区二区三区| 麻豆国产精品官网| 久久99九九99精品| 久久www免费人成看片高清| 久久精品国产亚洲高清剧情介绍| 麻豆国产欧美日韩综合精品二区| 久久99久久99精品免视看婷婷 | 国产欧美视频一区二区| 中文成人av在线| 亚洲区小说区图片区qvod| 亚洲精品高清在线| 亚洲成在线观看| 免费日本视频一区| 国内精品免费**视频| 成人av电影在线播放| 色婷婷久久综合| 777奇米四色成人影色区| 精品国产欧美一区二区| 国产女主播在线一区二区| 中文字幕一区二区三| 亚洲成人激情综合网| 蜜桃视频一区二区| 国产成人av在线影院| 在线观看免费亚洲| 日韩三级.com| 中文字幕一区二区三区在线播放 | 欧美乱妇15p| 久久免费的精品国产v∧| 亚洲欧洲成人精品av97| 亚洲成av人**亚洲成av**| 日本色综合中文字幕| 国产精品18久久久久久久网站| 色综合婷婷久久| 日韩一区二区三区视频在线观看| 中文文精品字幕一区二区| 亚洲图片欧美视频| 国产成人高清视频| 在线观看视频欧美| 久久人人爽人人爽| 亚洲在线中文字幕| 国产一区二区看久久| 在线一区二区观看| 精品久久国产老人久久综合| 亚洲日本va午夜在线影院| 精油按摩中文字幕久久| 色悠悠久久综合| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品国产成人久久av盗摄| 久久精品国产色蜜蜜麻豆| 欧美专区日韩专区| 欧美极品xxx| 捆绑变态av一区二区三区| 91国产精品成人| 国产精品拍天天在线| 轻轻草成人在线| 欧美丝袜第三区| 中文字幕在线不卡一区| 久久爱另类一区二区小说| 欧美丝袜丝交足nylons| 亚洲天堂免费看| 懂色一区二区三区免费观看| 精品久久久三级丝袜| 手机精品视频在线观看| 色婷婷狠狠综合| 一区在线观看视频| 国产成人亚洲综合a∨猫咪| 欧美成人国产一区二区| 日韩福利电影在线| 欧美婷婷六月丁香综合色| 亚洲精品国产精品乱码不99| www.视频一区| 国产精品久久久久久久久搜平片| 国产不卡在线播放| 国产视频一区在线播放| 国内偷窥港台综合视频在线播放| 日韩一区二区三区电影 | 欧美xxxx老人做受| 免费成人av在线| 日韩欧美国产系列| 日韩黄色小视频| 欧美大片在线观看一区| 久久精品国内一区二区三区| 日韩小视频在线观看专区|