Behave works with three different file types, which are as follows −
Feature files which are created by a Business analyst or any project stakeholder and contains behaviour related use cases.
Step Implementation file for the scenarios defined in the feature file.
Environment Setup files where, the pre/post conditions are to be executed prior and post the steps, features, scenarios, and so on.
A feature file should be within a folder called as the features. Also, there should be a sub-directory steps within the features directory.
We can launch the feature file with various command line arguments. These are explained below −
If no information is available, all the feature files within the features directory shall be loaded for execution in Behave.
If the path of the features directory is provided, then it is mandatory to have at least one feature file (with .feature extension) and a sub-directory named steps within the features directory.
Also, if the environment.py is present, it should be within the directory that has the steps directory and not within the steps directory.
If the path to a feature file is provided, then it instructs Behave to search for it. To get the corresponding steps directory for that feature file, the parent directory is searched.
If not found in the current parent directory, then it searches its parents. This shall continue until it reaches the file system root. Also, if the environment.py is present, it should be within the directory that has the steps directory and not within the steps directory.