<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### 1.安裝 PHPUnit如果使用PHAR安裝的話很簡單。Phar歸檔就像Java的Jar,可以直接被PHP解釋器執行。在*nix系統下,可以執行下面三條命令: ~~~ ? wget https://phar.phpunit.de/phpunit.phar ? chmod +x phpunit.phar ? sudo mv phpunit.phar /usr/local/bin/phpunit ~~~ 考慮到這次重構會引入比較多的類庫,選擇`Composer`做依賴管理。 在Ubuntu下安裝很順利,全局安裝Composer之后,在命令行執行 ~~~ composer global require phpunit/phpunit ~~~ 全局安裝`PHPUnit`。然后在`~/.bashrc`文件末尾加一行`PATH=$PATH:/home/feng/.composer/vendor/bin`(注意替換用戶名),來將`Composer`的`global bin`目錄加入`PATH`。 安裝過后運行`phpunit --version`看到版本信息則說明安裝成功。 另外,裝完以后我發現`Ubuntu`系統可以使用`apt-get install phpunit`來安裝,但我沒有試過。 在Windows下我用的是`XAMPP`環境,其中已經內置PHPUnit了。如果要在命令提示符下使用的話,可以修改環境變量中的PATH,在里面加上`C:\xampp\php`(或者你修改后的路徑)。再打開命令提示符,運行`phpunit --version`看一下。 #### 2.第一個測試 第一個`Tutorial`我使用的是`PHPUnit`官網上的`Getting Started`,這里寫的比它還要簡單一點。 項目的目錄結構如下: ├── phpunit.xml ├── src │ ├── autoload.php │ └── Money.php └── tests └── MoneyTest.php 第一個文件是項目代碼`src/Money.php`,內容如下: ~~~ <?php class Money { private $amount; public function __construct($amount) { $this->amount = $amount; } public function getAmount() { return $this->amount; } public function negate() { return new Money(-1*$this->amount); } } ~~~ 與之對應的單元測試是tests目錄下的`MoneyTest.php`,注意單元測試文件名最好是`*Test.php`,這樣以后指定tests目錄便可以執行目錄下的所有測試。 ~~~ <?php class MoneyTest extends PHPUnit_Framework_TestCase { public function testCanBeNegated() { $a = new Money(1); $b = $a->negate(); $this->assertEquals(-1, $b->getAmount()); } } ~~~ 代碼很簡單,`$this->assertEquals(-1, $b->getAmount());`即斷言后一個參數的執行結果與前一個參數相等,其他不解釋了。 現在,如果在MoneyTest.php里加一行`include_once('../src/Money.php');`。然后在項目根目錄下執行`phpunit tests/MoneyTest`,就可以看到執行結果了。 #### 3.自動載入 但是,逐個添加`include`的方式太不方便,最好是能自動`include`所需的文件,`PHPUnit`提供了一個參數`--bootstrap`,可以使用項目的`autoload`文件。這里我自己寫了一個最簡單的`autoload.php`,只要4行。這個文件并不是PHPUnit專用的,應該放在src目錄下。 ~~~ <?php function __autoload($class){ include $class.'.php'; } spl_autoload_register('__autoload'); ~~~ 當需要Money類時,就去`include Money.php`。寫完`__autoload()`函數之后要用`spl_autoload_register()`注冊上。 現在就可以去掉`MoneyTest.php`中的`include`語句,使用`phpunit --bootstrap src/autoload.php tests/MoneyTest`來執行測試了。 雖然可以自動載入,但是要執行的命令更長了。我們還可以寫一個配置文件來為項目指定`bootstrap`,這樣就不用每次都寫在命令里了。 配置文件`phpunit.xml`放在項目根目錄下。PHPUnit默認會讀取當前目錄下的`phpunit.xml`配置文件,在里面包含了所需要用到的類(非PHPUnit的類),問題就解決了~ ~~~ <phpunit bootstrap="src/autoload.php"> </phpunit> ~~~ 如果要執行MoneyTest,在項目根目錄下執行:`phpunit tests/MoneyTest` 如果要執行tests目錄下的所有測試,在項目根目錄下執行:`phpunit tests` * * * * * http://www.bayescafe.com/php/getting-started-with-phpunit.html
                  <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>

                              哎呀哎呀视频在线观看