2018年10月8日 星期一

Java Develop Coder 開始 PHP Test Coder 的生活_2018/10/8 Day29

開始用 Cucumber 來寫測試案例,因為 Codeception 支援 BDD,加上 Gherkin 支援繁體中文,如果將設定及步驟完成後,之後就可以重複使用步驟來進行測試。

從 composer 下載回來看到 codeception 也是使用 Behat 來做 BDD,但是引入的部分少了很多,從 feature 對照到 step definition 以及生成 step 實作的方法與設定,都必須依照文件上的規定,原本想要分散不一樣頁面的 steps 到不同命名空間或是資料夾,都會發生 classNotFoundException,最後就...全部放在一起。
由於專案的 actor 就只有 AcceptanceTester,所以就把 feature 放在 tests 下,steps 放在 _support 資料夾下,原本在外面的輔助類別,也通通移進來,讓大家彼此看得到。執行方式就跟文件上相同,執行時可以看見用中文寫的步驟以及對應的程式碼,要除錯也方便。

👉PHPStrom
使用 PHPStrom 的時候,在使用 codeception 的 BDD 時會發現,就算把 step definition 的程式實作完成,IDE 還是會顯示 Undefinition step reference,在 Stack Overflow 找得到相關問題,但是解法會造成前面說的 classNotFoundException,最後就只好
use Behat\Behat\Context;
class GeneralRegisterSteps implements Context\Context{
這樣做只是要 IDE 知道哪些 step 已經實作了,之後就不會重複寫。

沒有留言:

張貼留言