ในการพัฒนา Flutter App นั้น เรื่องของการทำงานร่วมกัน
ของคนในส่วนต่าง ๆ อย่างราบรื่น ทั้ง tech และ non-tech
หนึ่งในแนวทางคือ BDD (Behaviour Driven Development)
ด้วยการสร้างหรือกำหนดภาษาในการทำงานร่วมกัน
ทั้งส่วนของทีม business, product, development และ QA/Tester
รูปแบบที่เรามักจะเห็นบ่อย ๆ คือ Given-When-Then
ดังนั้นจึงไปดูว่ามี library อะไรให้ใช้ใน Flutter บ้าง ?
ก็ไปเจอ library ชื่อว่า Ogurets
ซึ่งสนับสนุน Null-safty แล้วอีกด้วย ตั้งแต่ version 4.0.0
ทำให้สามารถเขียน test ในรูปแบบของ Gherkin ได้เลย
โดยที่ library จะเตรียม annotation รูปแบบเดียวกับภาษา Java ไว้ดังนี้
- @Given
- @When
- @Then
- @And
- @But
- @Before และ @After สำหรับ Hook ใน test หรือ Test Life Cycle นั่นเอง
ในการพัฒนายังคงแยกเป็น 2 ไฟล์ เช่นเดิมคือ
- Feature file
- Step definition (Stepdef)
สิ่งที่สำคัญคือ การ run test ที่เขียนขึ้นมานั่นเอง
[gist id="c48dc8e13364a0acc44df185687967ca" file="bdd_test.dart"]เพียงเท่านี้ก็เขียนชุดการทดสอบแบบง่าย ๆ ได้แล้ว