Marcus Hammarberg embarks on an exploration of outside-in development with SpecFlow and ASP.NET MVC. In this narrative, he shares his journey from initial project setup to the implementation of specifications-driven code.
Setting the Stage
Excited about the opportunity to apply outside-in development practices to a real project, Marcus enters the office, ready to tackle the challenge. His project manager, Tobias, assigns him a task to extract tasks from the database to kickstart their learning journey.
Crafting Specifications
Together with Tobias, Marcus refines the project’s specifications, ensuring clarity and alignment with their goals. They define scenarios using Gherkin syntax to articulate the expected behavior of the application.
Implementation Begins
Marcus sets up his development environment in Visual Studio, configuring SpecFlow for executable specifications. He encounters initial challenges but perseveres, leveraging tools like Watin for browser automation to drive the development process forward.
Building the Web Application
With the specifications in place, Marcus starts building the web application using ASP.NET MVC. He adopts a test-driven approach, writing tests to validate the behavior of controller actions and implementing the necessary logic to fulfill the specifications.
Overcoming Challenges
Throughout the journey, Marcus faces obstacles such as dependency injection issues and UI design complexities. However, he navigates through them methodically, leveraging tools and best practices to overcome each challenge.
Reflection and Conclusion
Reflecting on his experience, Marcus finds the outside-in development approach natural and effective. He appreciates the clear progression from specifications to working code, highlighting the satisfaction of seeing the project evolve according to the defined requirements.