IntelliJ IDEA:使用Codeception進(jìn)行測(cè)試

2019-04-04 17:30 更新

使用Codeception進(jìn)行測(cè)試

此功能僅在Ultimate版本中受支持。

IntelliJ IDEA 使用Codeception測(cè)試框架2.2.0及更高版本為運(yùn)行單元,功能和驗(yàn)收測(cè)試提供支持。 

開(kāi)始準(zhǔn)備

  1. 確保已安裝并啟用了PHP和Codeception插件。插件未與IntelliJ IDEA捆綁在一起,但可以從JetBrains插件存儲(chǔ)庫(kù)中安裝它們。啟用后,插件可在IDE級(jí)別使用,也就是說(shuō),您可以在所有IntelliJ IDEA項(xiàng)目中使用它們。
  2. 確保PHP解釋器在PHP頁(yè)面上的IntelliJ IDEA中配置,如配置本地PHP解釋器配置遠(yuǎn)程PHP解釋器中所述。

下載并安裝Codeception

在開(kāi)始之前,請(qǐng)確保您的計(jì)算機(jī)上已安裝Composer,并在“Composer依賴關(guān)系管理”中所述的當(dāng)前項(xiàng)目中進(jìn)行初始化。

手動(dòng)下載并安裝Codeception

  • 在Codeception安裝頁(yè)面下載codeception.phar,并將其保存在稍后將使用Codeception的項(xiàng)目的根目錄下。 

    您還可以將codeception.phar保存在其他位置,并將其配置為包含路徑。在任何一種情況下,IntelliJ IDEA都會(huì)在索引中包含codeception.phar,因此它將成功解析對(duì)Codeception類的引用,從而為您提供完整的編碼幫助。

使用Composer下載并安裝Codeception

  1. 從composer.json的上下文菜單中,選擇:Composer|管理依賴關(guān)系?;蛘邚闹鞑藛芜x擇:工具|Composer|管理依賴關(guān)系。

  2. 在打開(kāi)的“管理Composer依賴關(guān)系”對(duì)話框中,可以使用搜索字段從“可用包”列表中選擇codeception/codeception包。

    從“要安裝的版本”列表中選擇相關(guān)版本。

  3. 如有必要,請(qǐng)展開(kāi)“設(shè)置隱藏”區(qū)域并指定高級(jí)安裝選項(xiàng)。在“命令行參數(shù)”字段中,鍵入其他命令行參數(shù)。建議提供--dev:選項(xiàng):在這種情況下,包將添加到composer.json文件的require-dev部分而不是默認(rèn)的require部分。

  4. 單擊“安裝”。

在IntelliJ IDEA項(xiàng)目中初始化Code??ception

安裝了Codeception之后,需要通過(guò)生成codeception.yml配置文件在項(xiàng)目中初始化它。

生成codeception.yml配置文件

  • 打開(kāi)內(nèi)置的IntelliJ IDEA終端(Alt+F12),并在命令提示符下鍵入以下命令之一,具體取決于安裝模式和當(dāng)前操作系統(tǒng):

    • 如果在項(xiàng)目中安裝了codeception.phar,請(qǐng)鍵入php codecept.phar bootstrap(對(duì)于Windows和macOS)或codecept bootstrap(對(duì)于Linux)。

    • 如果您通過(guò)Composer全局安裝了Codeception,請(qǐng)鍵入codecept bootstrap(適用于所有平臺(tái))。

在項(xiàng)目中集成Codeception和IntelliJ IDEA

如果您使用本地PHP解釋器,IntelliJ IDEA會(huì)自動(dòng)執(zhí)行初始Codeception配置。

自動(dòng)配置Codeception 

  1. 將codeception.yml或codeception.yml.dist配置文件存儲(chǔ)在項(xiàng)目根目錄下。

  2. 使用Composer安裝Codeception。

IntelliJ IDEA將在Test Frameworks頁(yè)面和Codeception運(yùn)行/調(diào)試配置上創(chuàng)建本地框架配置。

您可以手動(dòng)配置Codeception。如果使用遠(yuǎn)程PHP解釋器,則需要手動(dòng)配置。

手動(dòng)配置Codeception

  1. 在“設(shè)置/首選項(xiàng)”對(duì)話框(Ctrl+Alt+S)中,展開(kāi)“語(yǔ)言和框架”節(jié)點(diǎn),然后選擇“PHP”下的“測(cè)試框架”。

    在打開(kāi)的“測(cè)試框架”頁(yè)面上,單擊中央窗格的添加圖標(biāo),然后從列表中選擇配置類型:

    ps_settings_php_test_frameworks.png
    • 在本地配置中,使用默認(rèn)項(xiàng)目PHP解釋器。

    • 要將Codeception與遠(yuǎn)程PHP解釋器一起使用,請(qǐng)?jiān)诖蜷_(kāi)的對(duì)話框中選擇一個(gè)配置:

      ps_settings_php_test_frameworks_codeception_choose_php_interpreter.png
  2. 在“代碼庫(kù)”區(qū)域中,指定目標(biāo)環(huán)境中的Codeception可執(zhí)行文件或codeception.phar存檔的位置。例如,如果您通過(guò)Composer安裝了Codeception,則可執(zhí)行文件存儲(chǔ)在vendor/bin/codecept中。點(diǎn)擊“指向Codeception目錄或phar文件的路徑”字段旁邊的重新加載按鈕。IntelliJ IDEA檢測(cè)Codeception的版本并將其顯示在字段下方。

  3. 在“測(cè)試運(yùn)行程序”區(qū)域中,指定用于啟動(dòng)和執(zhí)行方案的配置YML文件。

    默認(rèn)情況下,Codeception在項(xiàng)目根文件夾中查找codeception.yml配置文件。您可以指定自定義配置文件。

    • 清除“默認(rèn)配置文件”復(fù)選框以使Codeception使用項(xiàng)目根文件夾中的codeception.yml配置文件。如果未找到此類文件,則測(cè)試執(zhí)行失敗,因此明確指定配置文件可能更可靠。

    • 選中“默認(rèn)配置文件”復(fù)選框以指定您自己的YML配置文件。此文件稍后將在所有Codeception運(yùn)行/調(diào)試配置中用作默認(rèn)值。

      在該字段中,指定要使用的配置文件的位置。手動(dòng)鍵入路徑或單擊browseButton并在打開(kāi)的對(duì)話框中選擇文件。

為類生成Codeception測(cè)試

  1. 執(zhí)行以下任一操作, 打開(kāi)“創(chuàng)建新的PHP測(cè)試”對(duì)話框:

    • 在主菜單上,選擇:文件|新建。然后,從上下文菜單中選擇:PHP測(cè)試|Codeception單元測(cè)試,或:PHP測(cè)試|Codeception功能測(cè)試。

    • 在“項(xiàng)目”工具窗口中,按下Alt+Insert或右鍵單擊要測(cè)試的PHP類,然后選擇:新建|PHP測(cè)試|Codeception單元測(cè)試,或:新建|PHP測(cè)試|Codeception功能測(cè)試。

    • 在要測(cè)試的PHP類的編輯器中,將插入符號(hào)放在類的定義中。然后,從上下文菜單中選擇:轉(zhuǎn)到|測(cè)試或按下Ctrl+Shift+T,然后從彈出菜單中選擇“創(chuàng)建新測(cè)試”。這樣,您就可以為單個(gè)PHP文件中的多個(gè)類中定義的PHP類生成測(cè)試。

      要為某個(gè)方法創(chuàng)建測(cè)試,請(qǐng)將插入符號(hào)放在方法聲明中。將在“創(chuàng)建新的PHP測(cè)試”對(duì)話框的“生成測(cè)試方法”區(qū)域中自動(dòng)選擇所選方法。

  2. 將打開(kāi)“創(chuàng)建新的PHP測(cè)試”對(duì)話框。

    創(chuàng)建新的代碼測(cè)試對(duì)話框

    提供生成的測(cè)試的參數(shù):

    • 測(cè)試文件模板,即IntelliJ IDEA將基于其生成測(cè)試類的模板。確保在測(cè)試文件模板列表中選擇了Codeception單元或Codeception功能。

    • 要測(cè)試的類的完全限定名稱,此名稱將用于建議“測(cè)試類名稱”。默認(rèn)情況下,“名稱”框顯示調(diào)用測(cè)試生成的類的名稱。要使用完成,請(qǐng)按下Ctrl+Space。

    • 測(cè)試類的名稱。IntelliJ IDEA自動(dòng)將生產(chǎn)類名稱中的名稱組成為<production class>Test.php(用于Codeception單元測(cè)試)或<production class>Cest.php(用于Codeception功能測(cè)試)。測(cè)試類名稱顯示在“測(cè)試類”區(qū)域的“名稱”字段中。

    • 測(cè)試類的文件夾。默認(rèn)情況下,它是標(biāo)記為測(cè)試源根目錄的文件夾。如果未指定此類文件夾,則建議使用包含生產(chǎn)類的文件夾。

      要指定其他文件夾,請(qǐng)單擊“目錄”字段旁邊的瀏覽按鈕,然后選擇相關(guān)文件夾。

    • 用于生成測(cè)試方法存根的生產(chǎn)類方法。在“為區(qū)域生成測(cè)試方法”中,選中所需生產(chǎn)類方法旁邊的復(fù)選框。要包含父類中的繼承方法,請(qǐng)選中“顯示繼承的方法”復(fù)選框。

      IntelliJ IDEA會(huì)自動(dòng)將測(cè)試方法的名稱組成test<production method>。您可以在“文件和代碼模板”設(shè)置頁(yè)面的“代碼”選項(xiàng)卡上自定義用于生成測(cè)試方法存根的代碼模板。

  3. 檢查,接受或更新預(yù)定義設(shè)置,然后單擊“確定”以啟動(dòng)測(cè)試生成。

測(cè)試準(zhǔn)備就緒后,您可以通過(guò)選擇:導(dǎo)航|轉(zhuǎn)到測(cè)試主題以導(dǎo)航回生產(chǎn)類 。

運(yùn)行和調(diào)試Codeception測(cè)試

  • 在“項(xiàng)目”工具窗口中,選擇要運(yùn)行測(cè)試的文件或文件夾,然后從選擇的上下文菜單中選擇“Run '<file or folder>'或“Debug '<file or folder>'“:

    ps_test_frameworks_codeception_launch_tests.png

    IntelliJ IDEA生成默認(rèn)運(yùn)行配置并使用它啟動(dòng)運(yùn)行/調(diào)試測(cè)試會(huì)話。

保存自動(dòng)生成的默認(rèn)配置

  • 測(cè)試會(huì)話結(jié)束后,從文件或文件夾的上下文菜單中選擇:保存<default_test_configuration_name>。

通過(guò)先前保存的運(yùn)行/調(diào)試配置運(yùn)行或調(diào)試測(cè)試

  • 從工具欄上的列表中選擇所需的Codeception配置,然后單擊運(yùn)行按鈕調(diào)試按鈕。

創(chuàng)建自定義運(yùn)行/調(diào)試配置

  1. 在“項(xiàng)目”工具窗口中,選擇要運(yùn)行測(cè)試的文件或文件夾,然后從上下文菜單中選擇“創(chuàng)建運(yùn)行配置”?;蛘?,在主菜單上選擇:運(yùn)行|編輯配置,然后單擊添加圖標(biāo)并從列表中選擇Codeception。

  2. 在打開(kāi)的“運(yùn)行/調(diào)試配置:代碼”對(duì)話框中,指定要運(yùn)行的方案,并通過(guò)指定要傳遞給PHP可執(zhí)行文件的選項(xiàng)和參數(shù)來(lái)自定義當(dāng)前PHP解釋器的行為。

監(jiān)控測(cè)試結(jié)果

IntelliJ IDEA在“運(yùn)行工具”窗口的“測(cè)試運(yùn)行器”選項(xiàng)卡中顯示測(cè)試執(zhí)行結(jié)果。

ps_test_result_codeception.png

該標(biāo)簽分為兩個(gè)主要區(qū)域:

  • 左側(cè)區(qū)域允許您深入查看所有單元測(cè)試以查看成功和失敗的單元測(cè)試。您可以過(guò)濾測(cè)試,導(dǎo)出結(jié)果,并使用上下文菜單命令來(lái)運(yùn)行特定測(cè)試或?qū)Ш降皆创a。
  • 右側(cè)區(qū)域顯示原始Codeception輸出。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)