<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp" -->

---
title: How to write unit tests | daily.dev
description: Tests are a way to explicitly set expectations about code. Good test coverage is a safety net that allows you to refactor code with more courage. Writing unit...
canonical: https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to write unit tests | daily.dev
og:description: Tests are a way to explicitly set expectations about code. Good test coverage is a safety net that allows you to refactor code with more courage. Writing unit...
og:url: https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp
og:image: https://api.daily.dev/og/posts/PxmbKFIDp.png
og:image:alt: How to write unit tests
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to write unit tests

**[Hashnode](https://daily.dev/sources/hashnode)** · 4 min read · 38 upvotes · 1 comments

## Summary

Tests are a way to explicitly set expectations about code. Good test coverage is a safety net that allows you to refactor code with more courage. Writing unit tests forces you to think about units and how the responsibility should be spent between them, making your code more modular and easier to maintain.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://how-to.dev/how-to-write-unit-tests>

## Community discussion

Top comments from developers on daily.dev.

**@ricardomorato** · 2 upvotes

> Great article!
>
> It has all three Fs. It is Fast to ready, Fun, and Feasible for day-to-day work.
>
> Congrats 👏🏼👏🏼👏🏼

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#testing](https://daily.dev/tags/testing)

[View this post on daily.dev](https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to write unit tests","url":"https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp"},"datePublished":"2022-04-06T19:39:19.183Z","dateModified":"2022-04-06T19:39:19.184Z","description":"Tests are a way to explicitly set expectations about code. Good test coverage is a safety net that allows you to refactor code with more courage. Writing unit...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/debe3a49d5fcaae22481cc8c8dd4726c","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/debe3a49d5fcaae22481cc8c8dd4726c","isAccessibleForFree":true,"articleSection":"Hashnode","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hashnode","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4","url":"https://daily.dev/sources/hashnode"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":38},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"general-programming,testing","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hashnode","item":"https://daily.dev/sources/hashnode"},{"@type":"ListItem","position":3,"name":"How to write unit tests"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-to-write-unit-tests-pxmbkfidp","comment":[{"@type":"Comment","text":"Great article!\nIt has all three Fs. It is Fast to ready, Fun, and Feasible for day-to-day work.\nCongrats 👏🏼👏🏼👏🏼","datePublished":"2022-04-06T21:57:18.690Z","url":"https://daily.dev/posts/PxmbKFIDp#c-uaPPRzDLx","author":{"@type":"Person","name":"Ricardo Morato Rocha","url":"https://daily.dev/ricardomorato","image":"https://avatars.githubusercontent.com/u/56000167?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}}]}
```

