Closed bblurock closed 9 years ago
我遇到一個問題,我想要測 CurlHelper::get()
第二個參數是 array 的情況。
see L25
註解是說會塞到 $option
裡,這點沒什麼問題,雖然不知道塞到 $option 送出要幹麻。
see L43-46
可是實際上 helper 沒有對 $method
做處理,導致 L71 的 $method
還是 array
不是 string
see L71
這應該怎麼辦好呢?
為什麼當初要設計可以吃 array
get 通常不吃,post才吃,也許可以另外加註說明,或改成get也吃都行
bblurock notifications@github.com 於 2015年6月23日 星期二寫道:
我遇到一個問題,我想要測 CurlHelper::get() 第二個參數是 array 的情況。 see L25 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L25
註解是說會塞到 $option 裡,這點沒什麼問題,雖然不知道塞到 $option 送出要幹麻。 see L43-46 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L43-L46
可是實際上 helper 沒有對 $method 做處理,導致 L71 的 $method 還是 array 不是 string see L71 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L71
這應該怎麼辦好呢?
為什麼當初要設計可以吃 array
— Reply to this email directly or view it on GitHub https://github.com/smstw/windwalker-joomla-rad/pull/46#issuecomment-114386895 .
Best Regard
我的意思是註解說第二個參數可以送 array
?可是送 array
應該會噴錯
那可能就是註解錯了,可以考慮要不要吃array
要的話就改一下源碼
bblurock notifications@github.com 於 2015年6月23日 星期二寫道:
我的意思是註解說第二個參數可以送 array?可是送 array 應該會噴錯
— Reply to this email directly or view it on GitHub https://github.com/smstw/windwalker-joomla-rad/pull/46#issuecomment-114419630 .
Best Regard
public static function get($url, $method = 'get', $query = '', $option = array())
$method
應該只能允許一種才對,沒看過用 CURL 時設定兩種以上的 $method
另外這一段應該要移除,$method
跟 $options
沒直接關係才對
https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L43-L46
好,那我再改一下。
還有另一個問題是我明明已經拿 JHttpResponse->body 出來比了
see this
可是 asserEquals 的時候還是會變成 object
問題是出在上面的
$this->assertEquals(CurlHelper::get($url), $http->get($url));
response 裡的 header 內容不一樣
不是 object 的問題,是 'Server' => 'ECS (dca 2469E)' 這邊不一樣
所以你最好是比對 status code 與 body 就可以了
你的 unit test 跑法沒有出現高亮度,你是怎麼設定 phpstorm 的? 還是你直接用 CLI?
剛剛那是 travis 的截圖
Merged,我在 phpunit.xml 加上一個 WINDWALKER_TEST_CURL_HELPER
的常數,只在 Travis 上面跑這個測試。因為本機端對外 request 有太多變數會導致測試失敗或變慢
沒有出現 utf8 那個的問題阿