PHP教學-在 XAMPP 中安裝 PHPUnit
如何安裝PHPUnit進入XAMPP
PHPUnit 是一種單元測試框架。
雖然有很多方式可以安裝 PHPUnit 在 XAMPP 裡,因此,在這篇文章中,我將涵蓋一步一步指導,如何設置的PHPUnit在我的本地Windows 7 系統中。
設定環境
有3個步驟,你需要在安裝PHPUnit的之前已經完成。
1:安裝XAMPP
首先,很明顯,你需要獲得並安裝XAMPP; 如果你已經擁有它,然後跳到下一個步驟。
XAMPP是一個簡單的,輕量級的Apache發行,使得它非常容易讓開發者創建一個本地Web服務器的開發和測試。你需要建立一個Web服務器(Apache),數據庫(MySQL的),和編程語言(PHP)的一切 - 包括在一個簡單的提取文件。XAMPP也是跨平台的,這意味著它同樣適用於Linux,Mac和Windows。
我不會去通過了如何安裝XAMPP,因為這不是本文的重點,有很多網站獲得幫助安裝XAMPP。
安裝XAMPP後,你通常有你的文件,像一個目錄C:\ XAMPP。
2:安裝作曲家
下一步驟是下載並安裝作曲 ; 如果你已經這樣做了,然後跳到下一個步驟。
作曲家是一個依賴管理器,允許你安裝所有運行的PHPUnit所需要的東西。一旦你下載的文件,點擊安裝包。
第1步:啟動安裝程序
第2步:接受默認值
第3步:找到php.exe的文件
在我的機器,XAMPP被安裝在c:\ XAMPP,所以我的php.exe位於C:\ XAMPP \ PHP \ php.exe的。
在安裝過程中,我有這樣的錯誤信息:
“OpenSSL的擴展名丟失,這將減少作曲家的安全性和穩定性。如果可能的話,你應該啟用或重新編譯PHP並-with,OpenSSL的“
為了解決這個問題,去位於PHP文件夾中的php.ini文件。在我的特殊情況下,它位於C:\ XAMPP \ PHP \ php.ini中。搜索“ 延長= php_openssl.dll”。
取消對一行之前刪除分號,保存文件,然後再繼續安裝。
3:激活了XDebug
XAMPP自帶1.7後,預先打包了XDebug的所有版本; 激活了XDebug,我們需要編輯的php.ini文件。
默認情況下,所有的XDebug的參數被註釋掉。
[XDebug]
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 1
;xdebug.profiler_enable = 0
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = cachegrind.out.%t.%p
;xdebug.remote_enable = true
;xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "localhost"
;xdebug.remote_port = 9000
;xdebug.trace_output_dir = "C:\xampp\tmp"
剛才的所有行之前刪除分號啟動 XDebug 和保存 php.ini 文件。
[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.remote_enable = true
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.trace_output_dir = "C:\xampp\tmp"
為了把我們的新配置的使用,我們需要重新啟動Apache。
要做到這一點,打開XAMPP控制面板,點擊“ 停止 ”按鈕。
要停止XAMPP服務器
然後點擊“ 開始 ”按鈕,重新啟動服務器。
要啟動XAMPP服務器
安裝PHPUnit的
現在,一切都設置它的時間來安裝 PHPUnit。
所有網頁文件通常坐在位於 XAMPP 目錄下的“htdocs”目錄中。所以,我的機器上,我的網頁文件應該放在C:\ XAMPP \ htdocs中。
要使用作曲家安裝PHPUnit我們需要的文件 composer.json,你可以在這裡下載。打開該文件,並且您在第3行看到的,我定義 PHPUnit 來要求。一旦運行安裝,作曲家將下載所需的文件,並將它們在“ vendor ”目錄。
{
"require" : { },
"require-dev" : { "phpunit/phpunit": "*" }
}
要安裝PHPUnit,我們可以從XAMPP控制面板的shell 程序進行 command。
打開 shell 程序的XAMPP
我已經放在composer.json文件中的“ 的UnitTest” 文件夾,我需要導航到該目錄在我的測試將是通過鍵入“CHDIR htdocs \ UnitTest”。
導航到目錄中的shell程序
現在,我在的UnitTest文件夾的目錄,我可以運行“ composer update ”......和我的作曲家庫應通過讀取更新composer.json文件並安裝它需要運行PHPUnit的一切,並建立必要的相關文件中的“ vendor “目錄中。
在shell程序安裝PHPUnit
安裝PHPUnit的文件和文件夾
既然已經安裝了PHP的單元,我們可以開始使用它。
使用PHPUnit的
我創建了一個PHP文件,SimpleTest.php,有2個說法。斷言是在PHP單元測試的基礎上,基本上是驗證的代碼單元的行為與預期的方法。在這種情況下,我返回一個錯誤的和真正的斷言。
PHP
<?php
class SimpleTest extends \PHPUnit_Framework_TestCase
{
public function testSimple1()
{
$this->assertEquals(2, 1 + 2);
}
public function testSimple2()
{
$this->assertEquals(2, 1+1);
}
}
因此,對文件進行測試SimpleTest.php,只需鍵入PHPUnit的SimpleTest.php; 請注意,PHPUnit假設類中的所有公共方法都測試並自動執行它們。
簡單的PHPUnit測試
並返回正確的測試結果與2斷言和1失敗。
一個簡單的PHPUnit測試測試結果
如果你想要做你的測試文件夾之外的單元測試,簡單型的PHPUnit之後你的測試文件的相對路徑。在這種情況下,我創建了一個名為“OutsideSimpleTest”簡單的測試,我劃歸“的htdocs”文件夾中。因此,該命令將“PHPUnit的../OutsideSimpleTest.php”
一個簡單的PHPUnit測試以特定文件路徑
所以,你可以看到你是不是在安裝PHPUnit的文件夾內限制。
但是,這可能是相當繁瑣不提效率低下做測試一個網頁的時間,這就是為什麼它是如此下一節是一個巨大的節省時間。運行通過你在一個批次所有測試。
運行批處理文件
首先,我們需要定義我們的測試套件配置在phpunit.xml文件,並把它放在我的PHPUnit的文件夾中。在這種情況下,我們指定了“SimpleProject”文件夾將包含所有的測試文件。這裡是如何做到這一點:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true" bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="WY’s Test Suite">
<directory>./SimpleProject/</directory>
</testsuite>
</testsuites>
</phpunit>
<目錄> ./ SimpleProject / </目錄>簡單講述PHPUnit的,你的測試將位於這樣你就不必手動告訴它每次運行測試的時間。
默認情況下,在文件名後綴“測試”該文件夾中任何東西,將運行一個測試。如果你有一個不同的命名約定,例如,你希望把你的測試樣Simple1.UnitTest.php,使用此
<directory suffix=".UnitTest.php">Custom</directory>
為了驗證這一點,我已經創造了2測試文件(Simple1Test.php和Simple2Test.php),無論返回true斷言。
PHP
<?php
class Simple1Test extends \PHPUnit_Framework_TestCase
{
public function testSimple()
{
$this->assertEquals(2, 1 + 1);
}
}
和...
PHP
<?php
class Simple2Test extends \PHPUnit_Framework_TestCase
{
public function testSimple()
{
$this->assertEquals(2, 3 - 1);
}
}
簡單型“PHPUnit 的 ”。它會讀取phpunit.xml並加載相應的測試用例並運行它們。
通過phpunit.xml配置文件的PHPUnit
有關配置最好的東西文件,你有一系列的設置,你可以定義。如果你想測試,而不是運行一個特定目錄下的所有文件某些文件...
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true" bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="WY’s Test Suite">
<file>/path/to/MyTest.php</file>
</testsuite>
</testsuites>
</phpunit>
如果要包含或排除的文件,你可以調用的黑名單和白名單設置
<filter>
<blacklist>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
<exclude>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
</exclude>
</blacklist>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
<exclude>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
</exclude>
</whitelist>
</filter>
可用設置是相當值得關注。見https://phpunit.de/manual/current/en/appendixes.configuration.html更多的XML信息。
結論
總括來說,要安裝PHPUnit到XAMPP ...
確保已安裝XAMPP
安裝確保作曲
確保了XDebug被激活
創建composer.json和安裝PHPUnit
創建PHPUnit.xml配置文件和簡單的測試用例
運行在簡單的測試情況下,PHPUnit的,以確保PHPUnit的正確
Download source file here
PHPUnit 是一種單元測試框架。
雖然有很多方式可以安裝 PHPUnit 在 XAMPP 裡,因此,在這篇文章中,我將涵蓋一步一步指導,如何設置的PHPUnit在我的本地Windows 7 系統中。
設定環境
有3個步驟,你需要在安裝PHPUnit的之前已經完成。
1:安裝XAMPP
首先,很明顯,你需要獲得並安裝XAMPP; 如果你已經擁有它,然後跳到下一個步驟。
XAMPP是一個簡單的,輕量級的Apache發行,使得它非常容易讓開發者創建一個本地Web服務器的開發和測試。你需要建立一個Web服務器(Apache),數據庫(MySQL的),和編程語言(PHP)的一切 - 包括在一個簡單的提取文件。XAMPP也是跨平台的,這意味著它同樣適用於Linux,Mac和Windows。
我不會去通過了如何安裝XAMPP,因為這不是本文的重點,有很多網站獲得幫助安裝XAMPP。
安裝XAMPP後,你通常有你的文件,像一個目錄C:\ XAMPP。
2:安裝作曲家
下一步驟是下載並安裝作曲 ; 如果你已經這樣做了,然後跳到下一個步驟。
作曲家是一個依賴管理器,允許你安裝所有運行的PHPUnit所需要的東西。一旦你下載的文件,點擊安裝包。
第1步:啟動安裝程序
第2步:接受默認值
第3步:找到php.exe的文件
在我的機器,XAMPP被安裝在c:\ XAMPP,所以我的php.exe位於C:\ XAMPP \ PHP \ php.exe的。
在安裝過程中,我有這樣的錯誤信息:
“OpenSSL的擴展名丟失,這將減少作曲家的安全性和穩定性。如果可能的話,你應該啟用或重新編譯PHP並-with,OpenSSL的“
為了解決這個問題,去位於PHP文件夾中的php.ini文件。在我的特殊情況下,它位於C:\ XAMPP \ PHP \ php.ini中。搜索“ 延長= php_openssl.dll”。
取消對一行之前刪除分號,保存文件,然後再繼續安裝。
3:激活了XDebug
XAMPP自帶1.7後,預先打包了XDebug的所有版本; 激活了XDebug,我們需要編輯的php.ini文件。
默認情況下,所有的XDebug的參數被註釋掉。
[XDebug]
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 1
;xdebug.profiler_enable = 0
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = cachegrind.out.%t.%p
;xdebug.remote_enable = true
;xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "localhost"
;xdebug.remote_port = 9000
;xdebug.trace_output_dir = "C:\xampp\tmp"
剛才的所有行之前刪除分號啟動 XDebug 和保存 php.ini 文件。
[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 1
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.remote_enable = true
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.trace_output_dir = "C:\xampp\tmp"
為了把我們的新配置的使用,我們需要重新啟動Apache。
要做到這一點,打開XAMPP控制面板,點擊“ 停止 ”按鈕。
要停止XAMPP服務器
然後點擊“ 開始 ”按鈕,重新啟動服務器。
要啟動XAMPP服務器
安裝PHPUnit的
現在,一切都設置它的時間來安裝 PHPUnit。
所有網頁文件通常坐在位於 XAMPP 目錄下的“htdocs”目錄中。所以,我的機器上,我的網頁文件應該放在C:\ XAMPP \ htdocs中。
要使用作曲家安裝PHPUnit我們需要的文件 composer.json,你可以在這裡下載。打開該文件,並且您在第3行看到的,我定義 PHPUnit 來要求。一旦運行安裝,作曲家將下載所需的文件,並將它們在“ vendor ”目錄。
{
"require" : { },
"require-dev" : { "phpunit/phpunit": "*" }
}
要安裝PHPUnit,我們可以從XAMPP控制面板的shell 程序進行 command。
打開 shell 程序的XAMPP
我已經放在composer.json文件中的“ 的UnitTest” 文件夾,我需要導航到該目錄在我的測試將是通過鍵入“CHDIR htdocs \ UnitTest”。
導航到目錄中的shell程序
現在,我在的UnitTest文件夾的目錄,我可以運行“ composer update ”......和我的作曲家庫應通過讀取更新composer.json文件並安裝它需要運行PHPUnit的一切,並建立必要的相關文件中的“ vendor “目錄中。
在shell程序安裝PHPUnit
安裝PHPUnit的文件和文件夾
既然已經安裝了PHP的單元,我們可以開始使用它。
使用PHPUnit的
我創建了一個PHP文件,SimpleTest.php,有2個說法。斷言是在PHP單元測試的基礎上,基本上是驗證的代碼單元的行為與預期的方法。在這種情況下,我返回一個錯誤的和真正的斷言。
PHP
<?php
class SimpleTest extends \PHPUnit_Framework_TestCase
{
public function testSimple1()
{
$this->assertEquals(2, 1 + 2);
}
public function testSimple2()
{
$this->assertEquals(2, 1+1);
}
}
因此,對文件進行測試SimpleTest.php,只需鍵入PHPUnit的SimpleTest.php; 請注意,PHPUnit假設類中的所有公共方法都測試並自動執行它們。
簡單的PHPUnit測試
並返回正確的測試結果與2斷言和1失敗。
一個簡單的PHPUnit測試測試結果
如果你想要做你的測試文件夾之外的單元測試,簡單型的PHPUnit之後你的測試文件的相對路徑。在這種情況下,我創建了一個名為“OutsideSimpleTest”簡單的測試,我劃歸“的htdocs”文件夾中。因此,該命令將“PHPUnit的../OutsideSimpleTest.php”
一個簡單的PHPUnit測試以特定文件路徑
所以,你可以看到你是不是在安裝PHPUnit的文件夾內限制。
但是,這可能是相當繁瑣不提效率低下做測試一個網頁的時間,這就是為什麼它是如此下一節是一個巨大的節省時間。運行通過你在一個批次所有測試。
運行批處理文件
首先,我們需要定義我們的測試套件配置在phpunit.xml文件,並把它放在我的PHPUnit的文件夾中。在這種情況下,我們指定了“SimpleProject”文件夾將包含所有的測試文件。這裡是如何做到這一點:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true" bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="WY’s Test Suite">
<directory>./SimpleProject/</directory>
</testsuite>
</testsuites>
</phpunit>
<目錄> ./ SimpleProject / </目錄>簡單講述PHPUnit的,你的測試將位於這樣你就不必手動告訴它每次運行測試的時間。
默認情況下,在文件名後綴“測試”該文件夾中任何東西,將運行一個測試。如果你有一個不同的命名約定,例如,你希望把你的測試樣Simple1.UnitTest.php,使用此
<directory suffix=".UnitTest.php">Custom</directory>
為了驗證這一點,我已經創造了2測試文件(Simple1Test.php和Simple2Test.php),無論返回true斷言。
PHP
<?php
class Simple1Test extends \PHPUnit_Framework_TestCase
{
public function testSimple()
{
$this->assertEquals(2, 1 + 1);
}
}
和...
PHP
<?php
class Simple2Test extends \PHPUnit_Framework_TestCase
{
public function testSimple()
{
$this->assertEquals(2, 3 - 1);
}
}
簡單型“PHPUnit 的 ”。它會讀取phpunit.xml並加載相應的測試用例並運行它們。
通過phpunit.xml配置文件的PHPUnit
有關配置最好的東西文件,你有一系列的設置,你可以定義。如果你想測試,而不是運行一個特定目錄下的所有文件某些文件...
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true" bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="WY’s Test Suite">
<file>/path/to/MyTest.php</file>
</testsuite>
</testsuites>
</phpunit>
如果要包含或排除的文件,你可以調用的黑名單和白名單設置
<filter>
<blacklist>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
<exclude>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
</exclude>
</blacklist>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
<exclude>
<directory suffix=".php">/path/to/files</directory>
<file>/path/to/file</file>
</exclude>
</whitelist>
</filter>
可用設置是相當值得關注。見https://phpunit.de/manual/current/en/appendixes.configuration.html更多的XML信息。
結論
總括來說,要安裝PHPUnit到XAMPP ...
確保已安裝XAMPP
安裝確保作曲
確保了XDebug被激活
創建composer.json和安裝PHPUnit
創建PHPUnit.xml配置文件和簡單的測試用例
運行在簡單的測試情況下,PHPUnit的,以確保PHPUnit的正確
Download source file here
留言
張貼留言