package Ġcom . mi q digital . cucumber _ runner . kot lines ample Ċ Ċ import Ġcom . int uit . kar ate . Kar ate Options Ċ import Ġcom . int uit . kar ate . Results Ċ import Ġcom . int uit . kar ate . Runner Ċ import Ġcom . mi q digital . He im d all Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* ĠThe Ġtype ĠKar ate Ġtest Ġrunner . Ċ Ġ*/ Ċ @ Kar ate Options ( features Ġ= Ġ[" classpath : features / Kar ate "], Ġtags Ġ= Ġ[" @ regression "]) Ċ class ĠKar ate TestRunner Ġ{ ĊĊĊĠ Ġprivate Ġval Ġpath Of Property File Ġ= Ġ"" ĊĠ Ġprivate Ġval Ġkar ate Output Path Ġ= Ġ"" ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠHe im d all Ġreporting . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ throws ĠInterruptedException ĠĠ Ġthe Ġinterrupted Ġexception ĊĠĠ Ġ* Ġ@ throws ĠNoSuch Field Exception ĠĠ Ġthe Ġno Ġsuch Ġfield Ġexception ĊĠĠ Ġ* Ġ@ throws ĠIllegal AccessException Ġthe Ġillegal Ġaccess Ġexception ĊĠĠ Ġ* Ġ@ throws ĠIOException ĠĠĠĠĠĠĠĠĠĠĠ Ġthe Ġio Ġexception ĊĠĠ Ġ*/ ĊĠ Ġ@ Test ĊĠ Ġ@ Throws ( InterruptedException :: class , ĠNoSuch Field Exception :: class , ĠIllegal AccessException :: class , ĠIOException :: class ) ĊĠ Ġfun Ġhe im d all Reporting () Ġ{ ĊĊĠĠĠ Ġval Ġresults : ĠResults Ġ= ĠRunner . path ( kar ate Output Path ). tags ("@ regression "). parallel ( 1 0 ) ĊĊĠĠĠ Ġval Ġhe im d all Ġ= ĠHe im d all () ĊĠĠĠ Ġhe im d all . update Status In S 3 And Notify Slack ( path Of Property File , Ġkar ate Output Path ) ĊĠĠĠ ĠassertEquals (" There Ġare Ġscenario Ġfailures ", Ġ 0 , Ġresults . fail Count . to Long ()) ĊĠ Ġ} Ċ }