Khi làm việc với Cucumber có bao giờ các bạn gặp trường hợp khi bạn có quá nhiều Step Definition mà không biết cái nào chưa được define, hoặc đã bị chỉnh sửa nhưng chưa ai sửa ở ngoài file feature không?

Nếu có trường hợp gì sẽ xảy ra, khi bạn chạy feature đó, sẽ failed cả Scenario đó. Giả sử là 5-10 Scenario thì chúng ta còn có thể scan tay được. Nếu như là 10,000 Scenarios thì sao. Do đó, Cucumber đã cung cấp cho chúng ta 1 option để có thể scan undefined test step trước khi run. Và nó có tên là dryRun.

Dùng dryRun scan file feature để nhận biết undefined Test Step trong Cucumber

dryRun được giới thiệu là 1 option của Cucumber giúp chúng ta có thể chạy qua các feature cần thiết để scan ra được các undefined test step mà không cần phải run thật tế các test step còn lại.

Các bạn trước hết cần có 1 FW chạy Cucumber hoàn chỉnh và được setup để run bởi JUnit. Cùng lúc đó, dhthsare đã chuẩn bị sẵn 1 feature file, có 2 step undefined ở đầu và cuối scenario:

  • And I use invalid statement first
  • And I use invalid statement 2

Và 1 JUnit configuration để run feature file đó

Bước 1:

Ở runner file, nên các bạn setup @CucumberOptions được import từ io.cucumber.junit, hãy thêm cho mình 1 option trong đó là dryRun=true, (mặc định sẽ là false)

Bước 2: Cho run JUnit configure ở trên và quan sát log của runner, và ta sẽ thấy được các undefined test step sẽ hiện ra ở đây:

Mong rằng dthshare có thể giúp bạn dễ dàng hơn trong việc truy vết các test steps chưa được define nhé. Chúc các bạn thành công

Reference: https://cucumber.io/