<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 編寫一個操作 * * * * * 首次運行ThinkPHP之后,都會默認創建一個Index模塊,Index控制器和一個index的操作。 接下來的這個實例,我們就是要在Index控制器中添加一個test的操作,在這個操作中,我們輸出一段字符串:`hello world`。然后在測試用例中對這個字符串進行斷言。 1. 新建一個test的操作 首先在路徑tp5/application/index/controller/Index.php中新建一個test的操作: ~~~ <?php namespace app\index\controller; class Index { public function index() { ... } public function test(){ return 'Hello world!'; } } ~~~ 上面這段代碼的主要功能就是輸出一段`Hello world!`的字符串。在瀏覽器中的路徑通常是: `http://127.0.0.1/tp5/public/index.php/index/index/test` 結果是在網頁中顯示一段字符串Hello world!。注意,該路徑可能在不同配置下有所不同,請注意更改。 > 安全提示:官方建議的根目錄應該為public,在這里因為我本地測試項目比較多,因此本項目只是一個子項目,沒有設置public為根目錄。請不要在生產環境上使用類似上面的路徑。 > > 并且因為測試框架是模擬請求,因此是不用搭建服務器的。 2. 新建一個測試用例類 在tests目錄下新建一個IndexTest.php的測試用例類,并在其中鍵入一下的代碼: ~~~ <?php namespace tests; class IndexTest extends TestCase { public function testTest() { $this->visit('/index/index/test')->see('Hello world!'); } } ~~~ > 如果直接復制上面代碼,請注意縮進的問題和編碼問題。否則運行過程中可能會報錯。 該測試用例是繼承ThinkPHP單元測試擴展類TestCase的。該類提供了多個用于支持ThinkPHP進行單元測試的方法。 其中,visit方法是接受一個作為URI的參數模擬向ThinkPHP框架中的某個測試發起請求。 而see方法則是斷言輸出的結果是否符合一個正則表達式,其中第一個參數為要匹配的正則表達式,第二個參數的值為true時斷言正則表達式不出現在結果中,為false時斷言正則表達式出現在結果中,默認為false。 3. 運行測試 輸入一下命令,進行測試: `php think unit` 這條命令需要在ThinkPHP根目錄下運行,在本文檔中是tp5目錄下運行。當在使用命令的時候,需要切換到該目錄中來。 think是在ThinkPHP目錄下的一個PHP文件,當運行這條命令的時候,實際上會執行think文件的。 這個時候運行結果會是: ![](https://box.kancloud.cn/f2333a780f5013fa8da4b49cbb99c215_520x157.jpg) 在結果的最后一行中,顯示OK,說明所有的測試用例都測試通過了,在括號中的內容是表示有2個測試用例類,4個斷言被測試了。 > 這里之所以有`2 tests`是因為tests目錄下還有一個`ExampleTest.php`的測試類。 > > 而`4 assertions`則表明是有四個測試用例。當我們把 > > `$this->visit('/index/index/test')->see('Hello world!');` > > 修改成 > > `$this->visit('/index/index/test');` > > 可以發現,現在的assertions只剩下三個了。因此,可以得知visit內部也有斷言。 > > $this->assertEquals(200, $status); > > 主要是對網頁請求的狀態碼進行斷言。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看