第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何測試發(fā)出http請求的方法?

如何測試發(fā)出http請求的方法?

PHP
慕雪6442864 2023-09-15 17:07:35
我正在 Laravel 中編寫測試。但是,我遇到了麻煩,因?yàn)槲也恢廊绾螠y試。有一種方法可以發(fā)出 http 請求,如下所示。您通常會如何測試此方法?我應(yīng)該使用實(shí)際可訪問的 URL 或模擬嗎?PHP 7.4.6 Laravel 7.0<?phpnamespace App\Model;use Illuminate\Support\Facades\Http;use Exception;class Hoge{    public function getText(string $url, ?string $user, ?string $password, string $ua): bool    {        $header = ["User-Agent" => $ua];        $httpObject = $user && $password ? Http::withBasicAuth($user, $password)->withHeaders($header) : Http::withHeaders($header);        try {            $response = $httpObject->get($url);            if ($response->ok()) {                return $response->body();            }        } catch (Exception $e) {            return false;        }        return false;    }}
查看完整描述

3 回答

?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個贊

擴(kuò)展到其他系統(tǒng)的功能可能會很慢并且使測試變得脆弱。盡管如此,您還是希望確保您的getText方法按預(yù)期工作。我會做以下事情:

  • 專門為您的方法創(chuàng)建一組集成測試getText。這些測試向服務(wù)器發(fā)出實(shí)際的 http 請求以驗(yàn)證預(yù)期的行為。Web 服務(wù)器不必是外部系統(tǒng)。您可以使用 php 的內(nèi)置網(wǎng)絡(luò)服務(wù)器來提供測試 url。

  • 對于使用該getText方法的所有其他功能,我會模擬該方法以保持測試快速。


查看完整回答
反對 回復(fù) 2023-09-15
?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個贊

要創(chuàng)建新的測試用例,您可以使用make:testArtisan 命令:


php artisan make:test HogeTest

然后你可以創(chuàng)建你的 HogeTest,考慮到你的標(biāo)題是正確的


<?php


namespace Tests\Feature;


use Tests\TestCase;


class HogeTest extends TestCase

{??

? ? public function hogeExample()

? ? {

? ? ? ? $header = ["User-Agent" => $ua];

? ? ? ? $response = $this->withHeaders([

? ? ? ? ? ? $header,

? ? ? ? ])->json('POST', $url, ['username' => $user, 'password' => $password]);


? ? ? ? $response->assertStatus(200);

? ? ? // you can even dump response

? ? ? $response->dump();

? ? }

}

這是一個簡單的示例,您可以根據(jù)需要對其進(jìn)行修改。


查看完整回答
反對 回復(fù) 2023-09-15
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個贊

我更喜歡使用 Postman 進(jìn)行 Web 服務(wù)器/API 測試。


查看完整回答
反對 回復(fù) 2023-09-15
  • 3 回答
  • 0 關(guān)注
  • 140 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號