Get Acquainted
Now that you've got the sample project in your hands, let's take some time to play detective and explore what makes it tick. But don't worry, there's no need to fire up any code just yet. We'll get to that thrilling part on the next page. For now, we're just going on an exploratory mission!
Group Exploration​
Alright, detectives, here's your mission should you choose to accept it: delve into the depths of this project and discover the following key pieces of the puzzle:
- Application Code: This is the heart of our project, where the main action happens. Which files do you think are the application code?
- Unit Tests: These are the tests that verify the application code. Can you spot them?
- Feature File: This is our Gherkin file, where we write our scenarios. Can you find it?
- Step Definitions: These are the glue between our Gherkin feature file and our application code. Can you find them?
Click for answer
- C#
- Go
| File | Location |
|---|---|
| Feature File | shout.feature |
| Step Definitions | ShoutSteps.cs |
| Application Code | Shouty.cs |
| Unit Tests | ShoutyTest.cs |
| File | Location |
|---|---|
| Feature File | shouty.feature |
| Step Definitions | godog_test.go |
| Application Code | shouty.go coordinate.go |
| Unit Tests | coordinate_test.go |
And there's a twist in our tale! Cucumber, our trusty sidekick, knows exactly which step definition to run for each step in our Gherkin feature file. Can you figure out how it's pulling off this feat?
Click for answer

Time for Detective Discussions​
But what's an investigation without some brainstorming and hypothesis-forming? As you explore, consider the following discussion points and see where your detective instincts lead you:
- What do you think about the current file structure?
- If you were leading the investigation, would you organize them differently?
- Can you think of scenarios where a step could have multiple potential step definitions? What do you think would happen then?
- What if a step can't find a matching step definition? Care to speculate on the outcome?
Remember, this is not a test, but a brainstorming session. The goal is to stimulate thought, foster discussions, and learn from each other. So let your curiosity roam free, and see what you can discover!
On the next page, we'll huddle up and share our findings. It's all about working together and learning from one another. So get those detective hats on, and let's begin the exploration!