Improve Your Testing 8: Keeping Your Tests Short and Clean

Do you think that tutorials only show toy examples far from your daily challenges? Just check this article.

David Rodenas PhD
11 min readOct 5, 2024
«The toy is bigger than it seems» — Prompted by the author.

In the previous article, I had shown how you can improve the quality of tests using AAA. Very nice, but I can already hear the criticism. The example tests were so simple that they are unrealistic, right? Just look at the following test:

let notebook;
beforeEach(() => {
notebook = new Notebook(); // Arrange
});

test("add contact", () => {
notebook.add("John", 1234); // Act
expect(notebook.get("John")).toBe(1234); // Assert
});

test("update contact", () => {
notebook.add("John", 1234); // Arrange
notebook.update("John", 3456); // Act
expect(notebook.get("John")).toBe(3456); // Assert
});

test("delete contact", () => {
notebook.add("John", 1234); // Arrange
notebook.delete("John"); // Act
expect(notebook.get("John")).toBeNull(); // Assert
});

Have you seen it? It’s simple! It’s so simple that it seems far from the complexity of the real world. Right? Well, what if I told you that you can transform any complicated test into a test as simple as this one? How? That’s what we’ll look at now. And the result? It will surprise…

--

--

David Rodenas PhD

Passionate software engineer & storyteller. Sharing knowledge to advance our skills. Join me on a journey of discovery in the world of software engineering.