InCodeXbyLuís SoaresStop using CSS and Test Ids to locate elements in testsHow should we locate elements when testing web pages?Nov 22, 2024Nov 22, 2024
InDev GeniusbyLuís SoaresAutomated testing in C — Part IIAcceptance testing means testing software in a user-centric way (roughly the same as end-to-end testing). I’ll present a way to test a CLI…May 21, 2024May 21, 2024
InDev GeniusbyLuís SoaresAutomated testing in C — Part II’m a fan of automated testing but usually do it in higher-level languages like Kotlin, Ruby, or Python. I’ll prove that we can do it in C…May 17, 20241May 17, 20241
InCodeXbyLuís SoaresAvoiding mocks — Part IIWe covered the dogfooding technique and how to make our tests more black-boxed. How do we deal with dependencies?Jan 5, 2024Jan 5, 2024
InCodeXbyLuís SoaresAvoiding mocks — Part IMocks often result in brittle tests that simulate unrealistic scenarios, replacing too much of the actual system and providing a false…Jan 3, 20243Jan 3, 20243
InCodeXbyLuís SoaresUnit Testing: Values and PrinciplesWhat’s a unit test? A function test? Can it interact with the outside? These questions lack meaning if we don’t start with why we do…May 6, 20231May 6, 20231
InBetter ProgrammingbyLuís SoaresStory Slicing — a Practical GuideSome stories may be challenging to split but with careful analysis and effort, they can often be broken down into smaller, more consumable…Mar 16, 20232Mar 16, 20232
InCodeXbyLuís SoaresA testing strategy for a domain-centric architecture (e.g., hexagonal)I’ll propose a testing strategy for the hexagonal architecture.Oct 4, 2022Oct 4, 2022
InCodeXbyLuís SoaresA vertical testing strategyOne goal of automated testing is to support you while refactoring, which is a continuous task. Tests should be enablers, not obstacles…Sep 6, 20223Sep 6, 20223
InCodeXbyLuís SoaresDecoupling tests from implementation detailsOne of the goals of automated tests is supporting refactoring, but many times, they get in the way. Tests should aim to define what is…Aug 31, 2022Aug 31, 2022
InCodeXbyLuís SoaresDecoupling tests from the implementation interfacesChanging interfaces (e.g. API web handlers, queue event handlers, web pages) is quite common but it can impact many tests. How can we…Aug 24, 20221Aug 24, 20221
InCodeXbyLuís SoaresEnd-to-end testing with Cypress + Testing LibraryHere’s the minimum you should know if you want to test web UIs with Cypress (an alternative to Selenium), a Node-based approach.Mar 30, 2022Mar 30, 2022
InCodeXbyLuís SoaresEnd-to-end testing with Selenium, Gradle, JUnitI wanted to test a web page using JVM, but tutorials are scattered everywhere. I decided to create a barebones project to illustrate how.Mar 20, 2022Mar 20, 2022
InCodeXbyLuís SoaresAutomated testing patternsTesting patterns serve the goals of automated testing: specification, documentation, support for refactoring, and help to locate defects.Dec 10, 20211Dec 10, 20211
InCodeXbyLuís SoaresTesting the data layer with TestcontainersUsing the Testcontainers is one of the ways to test your app’s data layer. Let’s see a basic example.Jul 9, 2021Jul 9, 2021
InCodeXbyLuís SoaresContract testing using Pact.ioI heard about consumer-driven contract testing a few years ago and finally decided to learn its concepts and try it out using Pact.io.Mar 5, 2021Mar 5, 2021
InCodeXbyLuís SoaresTesting your app’s data layerThere are multiple techniques, and the ones you use depend on your testing strategy.Feb 9, 2021Feb 9, 2021
InCodeXbyLuís SoaresStop testing your serializersOne of the goals of automated testing is “testing as a safety net” but that doesn’t mean that you should unit test everything…Feb 5, 2021Feb 5, 2021
InCodeXbyLuís SoaresVisualizing Your Automated Testing StrategyDoes your automated testing strategy make you feel safe? Do you follow a consistent set of testing patterns? Are you tired of debating…Jan 27, 2021Jan 27, 2021
InCodeXbyLuís SoaresAutomated Testing GoalsTesting is more than creating a safety net.Dec 3, 2020Dec 3, 2020