PhpUnit Netbeans 極簡配置

0x01. 下載兩個 Phar 包: php

wget https://phar.phpunit.de/phpunit.phar
wget https://phar.phpunit.de/phpunit-skelgen.phar

0x02. 讓這兩個包可執行 shell

chmod +x phpunit.phar
chmod +x phpunit-skelgen.phar

0x03. 移動(或創建軟鏈接)到你的環境變量的目錄下 bootstrap

mv phpunit.phar /usr/local/bin/phpunit
mv phpunit-skelgen.phar /usr/local/bin/phpunit-skelgen

至此,PHPUnit 以及生成測試的框架,已經部署完畢。簡單吧! 框架

0x04. Netbeans 全局配置 工具

菜單 --> 工具[Tools] --> 選項[Options] --> PHP --> Frameworks & Tools
選中左側的 PHPUnit,設置 [PHPUnit Script] 與 [Skeleton Generator Script]
若是在你的 PATH 環境變量下,點擊 [Search] 便可到,若是不在,本身填路徑。
本例中,這兩個路徑分別爲:
  /usr/local/bin/phpunit 
  /usr/local/bin/phpunit-skelgen 點擊肯定,退出配置

0x05. NetBeans 項目配置 測試

在項目名稱上右擊 --> 屬性[Properties] --> 測試[Testing]
添加測試目錄。
展開左側 測試[Testing] 樹,點擊 [PHPUnit]
勾選 [Use Bootstrap],而後選擇啓動腳本或點擊[Generate]自動生成一個。
勾選 [Use Bootstrap for Creating New Unit Tests]
若是不勾選 [Use Bootstrap for Creating New Unit Tests],在生成有繼承或實現接口的類時,會提示
Final Error: Interface ... not found in ...
Final Error: Class ... not found in ...
0x06. 修改 bootstrap.php

自動生成的 bootstrap.php 可能不大符合本身的實際要求,修改一下便可,它的做用通常是自動加載類庫。好比你使用一些框架,加載本身的類,則把框架的 autoload.php 文件包含進來,把本身的 autoload.php 包含進來便可。好比: ui

<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * @author
 */
// TODO: check include path
//ini_set('include_path', ini_get('include_path'));

// put your code here
require __DIR__ . '../../../my/autoload.php';
0x07. 使用方法
在代碼窗口選中要測試的文件,菜單 --> 工具[Tools] --> 生成測試[Create Tests]
或在項目窗口,選中要測試的文件,右鍵 --> 工具[Tools] --> 生成測試[Create Tests]

0x08. 附命令行使用方法 this

phpunit-skelgen spa

"/usr/bin/php" "/usr/local/bin/phpunit-skelgen" "--ansi" "generate-test" "--bootstrap=/path/to/bootstrap.php" "Namespace\MyClass" "/path/to/Namespace/MyClass.php" "Namespace\MyClassTest" "/path/to/Namespace/MyClassTest.php"

phpunit 命令行

"/usr/bin/php" "/usr/local/bin/phpunit" "--colors" "--log-junit" "/tmp/nb-phpunit-log.xml" "--bootstrap" "/path/to/bootstrap.php" "/path/to/netbeans-8.0/php/phpunit/NetBeansSuite.php" "--run=/path/to/test/Namespace/MyClassTest.php"
相關文章
相關標籤/搜索