Matheus Marabesi website, sharing ideas about software development - Listing posts on page 1

Testing ReactJS Context - A Comprehensive Guide with test-doubles

This guide explores testing ReactJS context using React Testing Library and Vitest. Learn to set up tests, verify default context values, and simulate user interactions without test-doubles. Enhance your testing skills with practical examples and best practices for reliable and maintainable React applications.

Global day of code retreat Madrid - CraftersMadrid + Iberia

Join me in this reflection of how it was the code retreat experience in 2024.

Reflections on Software Crafters Barcelona 2024

Just attended Software Crafters Barcelona 2024, where I explored technical and cultural challenges shaping software development today. From managing high cardinality in metrics to tackling cultural change, and insights on clean code and emotional intelligence, the sessions were packed with practical takeaways. Highlights included Mercadonas large-scale refactoring strategies and live mob programming sessions, bringing hands-on learning and collaboration. Check out my recap for insights.

The differences between frontend and backend for TDD

TDD (Test-Driven Development) applies equally to both client-side and server-side applications, despite initial literature focusing on Java, a primarily server-side language. Initially, client-side testing was undervalued, partly due to influential works like “Clean Architecture” by Uncle Bob, which minimized the importance of UI testing. However, the industry has since evolved, recognizing the importance of client-side testing with tools like QUnit for jQuery, jest/mocha for modern applications, jasmine for Angular, and testing-library for ReactJs. Client-side and server-side applications have distinct roles, with the former focusing on responsiveness and browser APIs, and the latter on storage systems and HTTP requests.

Searching for the type of tests

Discover the nuances of different types of testing and its definition based on multiple authors.

Fetching data with ReactJs using Pokemon API

useEffect has been used to synchronize external effects with the internal reactjs component state. Effects vary based on their source. it could be an API, an update made in the DOM or any other source that comes from the outside of a reactjs component lifecycle.

What is testing? - A brief introduction to software testing

You can’t build great software without testing it thoroughly. Testing is a crucial step in the development process, with different teams using various approaches and types of tests. This blog post dives into the world of testing, explaining its role in the software lifecycle through different “testing pyramids” and categories. We’ll explore where testing fits in the grand scheme of things.

A gentle introduction to TDD

TDD is a three-stage process (Red, Green, Refactor) that improves code quality, collaboration, and development. It reduces the gap between decision and feedback during programming. Check out a YouTube playlist for more information.

Opening a new area of research: The intersection between TDD and test smells, where are we and where are we going to?

The current focus is on developing a framework to analyze the impact of TDD practice and test smells on the codebase, emphasizing the context in which TDD is practiced. While tools have been developed for identifying test smells mainly in the Java ecosystem, there’s still a need to adapt these tools for other programming languages. One of the main challenges is integrating various areas of knowledge, such as team and organizational settings, into this framework.

What would I do if I had to learn Laravel again after years of not using it?

For a long time, I used Laravel to build web apps and APIs for my professional career. I spent at least 4-5 years writing PHP apps with Laravel, which led to a book and later on hosting two conferences in Brazil, one in 2016 and the other in 2017. Today, I would like to share what I would focus on if I had to relearn Laravel from scratch, and this post is an exercise that I am doing with that in mind. Be aware that it has been a while since I touched Laravel, and any inputs that might improve...