package Ġcom . data st ax . fal lout . con ventions Ċ Ċ import Ġorg . gradle . api . internal . tasks . testing . junit platform . JUnit Platform Test Framework Ċ import Ġorg . gradle . api . tasks . testing . logging . Test Exception Format Ċ import Ġorg . gradle . api . tasks . testing . logging . Test Log Event Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava Ċ } Ċ Ċ // Ġ---------------------------------------------------------------- ------------------------------------------------ ---- Ċ // ĠCommon Ġdependencies Ġfor Ġtesting Ċ Ċ // ĠCreate Ġconfigurations Ġto Ġhold Ġcommon Ġtest Ġdependencies . Ġ ĠR ather Ġthan Ġdirectly Ġadding Ġdependencies Ġto Ġthe Ċ // Ġstandard Ġtest Implementation / test Runtime Only Ġdependencies , Ġthis Ġallows Ġus Ġto Ġdeclare Ġother Ġtest Ġconfigurations Ċ // Ġ( such Ġas Ġimplementation Ġtest ) Ġin Ġprojects Ġusing Ġthis Ġplugin Ġand Ġhave Ġthose Ġconfigurations Ġ` extend From ` Ġthese . Ċ Ċ val Ġtest Con ventions Implementation Deps Ġby Ġconfigurations . creating Ġ{ ĊĠĠĠ Ġis Can Be Resolved Ġ= Ġfalse Ċ } Ċ Ċ val Ġtest Con ventions Runtime Only Deps Ġby Ġconfigurations . creating Ġ{ ĊĠĠĠ Ġis Can Be Resolved Ġ= Ġfalse Ċ } Ċ Ċ configurations Ġ{ ĊĠĠĠ Ġtest Implementation . get (). extends From ( test Con ventions Implementation Deps ) ĊĠĠĠ Ġtest Runtime Only . get (). extends From ( test Con ventions Runtime Only Deps ) Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġtest Con ventions Implementation Deps ( platform (" org . junit : junit - bom : 5 .+ ")) ĊĠĠĠ Ġtest Con ventions Implementation Deps (" org . junit . jupiter : junit - jupiter - api ") ĊĠĠĠ Ġtest Con ventions Implementation Deps (" org . junit . jupiter : junit - jupiter - params ") ĊĊĠĠĠ Ġtest Con ventions Runtime Only Deps ( platform (" org . junit : junit - bom : 5 .+ ")) ĊĠĠĠ Ġtest Con ventions Runtime Only Deps (" org . junit . jupiter : junit - jupiter - engine ") ĊĊĠĠĠ Ġtest Con ventions Implementation Deps (" org . assertj : assertj - core : 3 .+ ") Ċ } Ċ Ċ // Ġ---------------------------------------------------------------- ------------------------------------------------ ---- Ċ // ĠCommon Ġsettings Ġfor Ġtesting Ċ Ċ project . after Evaluate Ġ{ ĊĠĠĠ Ġtasks . with Type ( Test :: class . java ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠCalling Ġuse JUnit Platform Ġover writes Ġany Ġexisting Ġoptions , Ġso Ġonly Ġdo Ġit ĊĠĠĠĠĠĠĠ Ġ// Ġif Ġwe 're Ġnot Ġalready Ġusing Ġit ĊĠĠĠĠĠĠĠ Ġif Ġ( test Framework Property . get () Ġ! is ĠJ Unit Platform Test Framework ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevents Ġ= Ġset Of ( Test Log Event . SKIP PED , ĠTest Log Event . FAILED , ĠTest Log Event . PAS SED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexception Format Ġ= ĠTest Exception Format . FULL ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . let Ġ{ Ġtest Task Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreports Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhtml . required . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjunit Xml . required . set ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjunit Xml . is Output Per TestCase Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjunit Xml . output Location . set ( file ("$ build Dir / reports / junit /${ test Task . name } ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( root Project . has Property (" test Ignore Failures ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġignore Failures Ġ= Ġproject . find Property (" test Ignore Failures ") Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠMake Ġcheck Ġtasks Ġdepend Ġon Ġthis ĊĠĠĠĠĠĠĠ Ġtasks . getBy Path (" clean Check "). depends On (" clean ${ name . capitalize () }") ĊĠĠĠĠĠĠĠ Ġtasks . getBy Path (" check "). depends On ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠDisable Ġoutput Ġcaching : Ġwe Ġdon 't Ġwant Ġto Ġcache Ġthe Ġoutput Ġof Ġtests ĊĠĠĠĠĠĠĠ Ġoutputs . cache If Ġ{ Ġfalse Ġ} ĊĠĠĠ Ġ} Ċ } Ċ