ในการพัฒนา 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 ที่เขียนขึ้นมานั่นเอง

เพียงเท่านี้ก็เขียนชุดการทดสอบแบบง่าย ๆ ได้แล้ว