小編給大家分享一下yii怎樣寫(xiě)單元測(cè)試,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
單元測(cè)試
單元測(cè)試位于tests/unit目錄中,應(yīng)該包含所有類(lèi)型的單元和集成測(cè)試。
每個(gè)測(cè)試用例都擴(kuò)展了Codeception\Test\Unit類(lèi),這是用于單元測(cè)試的標(biāo)準(zhǔn)Codeception格式。在Yii中開(kāi)發(fā)完全隔離的單元測(cè)試非常困難,因此在每個(gè)測(cè)試用例之前都要啟動(dòng)一個(gè)應(yīng)用程序。
在tests/unit.suite.yml啟用了Yii2模塊的文件中配置測(cè)試:
modules: enabled: - Yii2: part: [orm, email]
該模塊為一個(gè)測(cè)試案例啟動(dòng)Yii應(yīng)用程序,并提供其他幫助程序方法來(lái)簡(jiǎn)化測(cè)試。它只有orm和email零件,以排除需要的只是功能性的測(cè)試方法。
通過(guò)訪(fǎng)問(wèn)$this->tester測(cè)試用例中的類(lèi),可以使用Yii2模塊的方法。因此,如果啟用了orm和email部分,則可以調(diào)用屬于這些部分的方法:
<?php // insert records in database $this->tester->haveRecord('app/model/User', ['username' => 'davert']); // check records in database $this->tester->seeRecord('app/model/User', ['username' => 'davert']); // test email was sent $this->tester->seeEmailIsSent(); // get a last sent emails $this->tester->grabLastSentEmail();
如果啟用fixtures零件,您還將獲得在測(cè)試中加載和使用夾具的方法:
<?php // load fixtures $this->tester->haveFixtures([ 'user' => [ 'class' => UserFixture::className(), // fixture data located in tests/_data/user.php 'dataFile' => codecept_data_dir() . 'user.php' ] ]); // get first user from fixtures $this->tester->grabFixture('user', 0);
如果Yii2啟用了模塊,則可以安全地Yii::$app在測(cè)試內(nèi)調(diào)用,因?yàn)樵跍y(cè)試后將初始化并清理應(yīng)用程序。如果你想添加的輔助方法或自定義斷言為您的測(cè)試情況下,你不應(yīng)該延長(zhǎng)Codeception\Test\Unit,但寫(xiě)自己的獨(dú)立的輔助類(lèi)。
看完了這篇文章,相信你對(duì)yii怎樣寫(xiě)單元測(cè)試有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱(chēng):yii怎樣寫(xiě)單元測(cè)試-創(chuàng)新互聯(lián)
標(biāo)題URL:http://chinadenli.net/article42/dhgjec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、微信公眾號(hào)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容