package com.neoranga55.cleanguitestarchitecture.test;
import cucumber.api.CucumberOptions;
/**
* This class configures the Cucumber test framework and Java glue code
*
* Flavors' support: When you have multiple flavors the best configuration is to follow this steps:
* 1- Create a copy of this file on each flavor's specific test package and delete the original file
* i.e. androidTestFlavor/java/com/neoranga55/cleanguitestarchitecture/test/CucumberTestCase.java
* 2- Modify the original report path to include the flavor /mnt/sdcard/cucumber-reports/FLAVOR/cucumber-html-report
* 3- Tag your scenarios in the feature files with new specific tags for each flavor and include them in the flavor's version of this file
* i.e. Add tag @flavor-one to a test scenario and modify the flavor's CucumberTestCase.java with tags={"~@manual", "@flavor-one"}
*/
@CucumberOptions(features = "features", // Test scenarios
glue = {"com.neoranga55.cleanguitestarchitecture.cucumber.steps"}, // Steps definitions
format = {"pretty", // Cucumber report formats and location to store them in phone
"html:/data/data/com.neoranga55.cleanguitestarchitecture/cucumber-reports/cucumber-html-report",
"json:/data/data/com.neoranga55.cleanguitestarchitecture/cucumber-reports/cucumber.json",
"junit:/data/data/com.neoranga55.cleanguitestarchitecture/cucumber-reports/cucumber.xml"
},
tags={"~@manual", "@login-scenarios"}
)
// This class must be in a different package than the glue code
// (this class is in '...cucumber.test' and glue is in '...cucumber.steps')
class CucumberTestCase {
}