This tutorial is an introduction to .NET Core CLI tools. More precisely it is about creating a web API using the CLI tools provided for .NET Core. Whether you are a beginner in development or just new to .NET Core this tutorial is for you. However, you need to be familiar with what an API is and unit tests to fully enjoy this tutorial. Today, we will set up a solution grouping an API project and a test project.
Category: Building future-proof software
Future-proof software. For the longest time, I thought that future-proof software consisted in writing software so good you never need to change it. Over the years, I learned that it is actually software you should be able to change easily. Software that would adapt to future requirements while satisfying the current. Testing is a massive part of that. So is refactoring. Here are some blog posts around these topics.
If you are to embrace new requirements, you must design software so that you can refactor it. If you want to refactor your code, you need to have a way to test its current behaviour no matter how. For a web API, you may even go as far as using Postman to build a test suite.
And remember, whenever you build new production code. Write failing tests. Make the failing tests pass. Push to production. That way you never write unneeded code and if a refactoring is needed you have less to worry about. Yet you have enough to be confident while writing changes.
What is the HttpResponseSimulator? Apart from being the least original name. Well, it is a tool that allows simulating the behaviour you want from an endpoint to test an HTTP client and/or wrapper. I built it over an afternoon so that I could write a timeout test for an
How I unblocked a frozen pull request
A few weeks ago, I saw a pull request to modify one of our web jobs which codebase is pretty old and had no tests. The pull request had no tests either. The thing is that we decided to make unit testing mandatory for any pull requests a couple
I started reviewing the code when I noticed someone else already posted a review. A pretty laconic “please add tests”. Not a bad nor a mean review but not a really helpful one. Proof of it is that it was posted about an hour before and the pull request was blocked. Indeed we do not untested logic to enter or remain in our software. Yes, it is aligned with our new policy about tests. That being said, the
Test, four letters, one meaning and for some people a struggle. Getting people around you to write tests is easy only when everyone already agrees with you. As often, there are instances where some people show resistance to writing tests. Here
D: I don’t have time to write tests.
A: I don’t need to test this.
B: I can’t write a test for this.
Last month, I posted about Postman enabling you to test your APIs with little effort so that you can build future-proof software. Here we are going to cover setting up continuous integration for a simple project by using Newman to run your Postman collections. You may have heard about continuous integration in the past. Most commonly, continuous integration will build software from one’s changes before or after merging them