<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國際加速解決方案。 廣告
                # 說明 在TP單元測試擴展中,模擬發送請求可以有5種方法,其中四種是擴展中自帶的,另外一種是由我們自己通過request構建一個請求。擴展中帶的四中分別是: 1. visit:發起一個GET的請求,只需要傳入URI即可 2. submitForm: 3. makeRequest: 4. makeRequestUsingForm: # visit visit方法只接受一個參數uri,在這個參數傳入我們的請求路徑,擴展便會幫助我們構建一個GET的請求。其在底層是使用方法makeRequest進行構建的。 例子: `$this->visit('/index/index/index');` # makeRequest $method:傳輸的方法 $uri $parameters = []:所帶參數 $cookies = [] $files = [] `$this->makeRequest('GET','/index/index/getMethod/name/c7')` > 注意:請不要使用$parameters進行傳參和使用?key=value方式傳參,在目前的5.x中,這兩種方式都會出現問題。這是因為在CLI下,創建請求的時候$_GET不會被設置,而普通的URL方式在5.X版本又不支持,因此才會出現這個問題的。解決方法是在request::create中添加一行代碼:$_GET=$params;但是這個會修改到源代碼,因此還是希望大家暫停使用這兩種方法,等待官方的解決方案。 > 當使用$parameters進行傳參的時候,如果是使用官方封裝的request對象來獲得參數,程序能夠正常運行。但是切記不可使用$_GET等等超全局變量。 # submitForm submitForm是基于makeRequest的,也就是說當使用makeRequest返回的內容中存在Form的話,我們就可以通過submitForm處理這個Form。 因此,我們需要構建兩個操作,一個用于返回一個含有form的頁面,一個用于接受這個form的請求。 index控制器如下: ~~~ <?php namespace app\index\controller; use think\Request; class Index { public function index(){ return <<<html <html> <body> <form method="get" action="testForm"> <input type="text" name='test' value="123"> <input type="submit" value="submit"> </form> </body> </html> html; } public function testForm(){ return 'hello'; } } ~~~ 可以使用以下測試: ~~~ <?php namespace tests; //針對Index控制器 class IndexTest extends TestCase { public function testForm(){ $this->visit('index/index/index')->submitForm('submit',[ 'test'=>'test' ])->see('hello'); } } ~~~ 首先是使用visit發起一個請求,返回一個帶有form的頁面。接著使用submitForm提交該form。 ~~~ 注意:這里依然是cli模式下,而通過submitForm依然會使用makeRequest的$parameters參數,因此也會造成在實際的控制器中無法得到具體的參數值。除非使用官方封裝的request對象。 ~~~ submitForm接受三個值,從上面的例子中我們可以知道,第一個參數是form的提交按鈕的文本,第二個為提交的鍵值對,第三個為要上傳的文件。 # makeRequestUsingForm submitForm是對makeRequestUsingForm的另外一層封裝。因此通常使用submitForm會比較方便。如果要使用makeRequestUsingForm的話,我們則需要傳入兩個參數,一個是Form類型的,一個是提交的文件。 其中Form我們可以自行構建,也可以通過getForm來實現跟submitForm一致的功能。
                  <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>

                              哎呀哎呀视频在线观看