Craig Atkinson
Home
Blog
About
  • Mock API servers for Maestro Android testing using MockServer and Gradle

    Nov 17, 2022 Android mobile Gradle testing

    Maestro is a great library for writing high-level UI tests that verify your Android app works from your users' perspective. For a more detailed intro into Maestro, please see my recent Maestro intro post. If you're testing an app that makes REST API calls, you'll need a way to verify those parts of the app work …

    Read More
  • High-level Android UI tests with Maestro

    Oct 30, 2022 Android mobile testing

    For fun I've recently been building an Android app with Kotlin and Compose. With this app, I can set goals for the week and track my progress towards those goals. My schedule is too varied day-to-day to successfully finish daily goals of say, read X minutes a day. But I found that setting goals per week helped me …

    Read More
  • Cypress browser testing leveraging React Testing Library

    Aug 19, 2021 Cypress React testing

    If you're writing unit tests for your React components these days, there's a good chance you're using React Testing Library. It supports user-focused testing with reliable selectors to find elements, such as the data-testid attribute or finding an element by role. Specific and reliable selectors are key to make sure …

    Read More
  • Code coverage stats - are they helpful?

    Jul 5, 2021 code-coverage metrics testing

    Code coverage - how many code lines and branches are accessed during a test - is easy to measure in many languages and test frameworks. And at first glance, measuring code coverage seems like a no-brainer. After all, who wouldn't want to make sure their code is sufficiently tested? But just because a metric is easy to …

    Read More
  • Testing OpenTelemetry JVM instrumentation with Kotlin

    Jun 29, 2021 OpenTelemetry observability Kotlin testing

    The OpenTelemetry Java instrumentation agent automatically instruments many common frameworks but there are times you may want to customize your application's telemetry by adding your own custom spans, adding attributes to existing spans, etc. In that case, it can be helpful to verify the custom instrumentation through …

    Read More
  • Verifying order of React elements with React Testing Library

    Apr 6, 2021 React testing

    Recently I was working on sorting rows in a table in React and I wanted to be able to verify the rows sorted into the correct order. The table shows flaky tests (that is, tests that intermittently fail) and is built with Material Table. Material Table conveniently supports sorting out of the box by clicking on the …

    Read More
  • Customizing Recharts graphs for React and testing them with Cypress

    Mar 14, 2021 React Recharts testing Cypress

    After I added the ability to collect and store code coverage stats in the Projektor test reporting tool, I wanted to also add a graph that showed the trend of code coverage over time. Then users could track their repo's code coverage to see if was increasing, decreasing, or staying the same. The Projektor UI is built …

    Read More
  • Kotlin test assertions with informative failure messages using Strikt

    Feb 21, 2021 kotlin testing

    When I started writing Kotlin code a couple of years ago, one of the main things I missed after previously writing tests with Groovy/Spock were the easy yet powerful assertions with Groovy's power assert - not to mention the expressive failure messages when a test failed. Groovy's power assert prints out the …

    Read More

Craig Atkinson

Software engineer, continually curious, highly caffeinated.
Read More

Featured Posts

  • Ten communication tips for staff-plus engineers
  • Four keys I look for when reviewing software pull requests
  • Five ways to be a force multiplier in software engineering
  • Lessons learned from building an open-source side project

Recent Posts

  • Ten communication tips for staff-plus engineers
  • Four keys I look for when reviewing software pull requests
  • Mock API servers for Maestro Android testing using MockServer and Gradle
  • High-level Android UI tests with Maestro
  • Running Android emulator tests in GitHub Actions
  • Five ways to be a force multiplier in software engineering
  • Stop lighting money on fire: Seven tips to improve developer productivity
  • Lessons learned from building an open-source side project

Categories

DEVELOPMENT 17 TESTING 7 ANDROID 3 CI 3 MOBILE 3 OBSERVABILITY 3 CAREER 2 REACT 2 OPEN-SOURCE 1

Tags

TESTING 8 KOTLIN 5 DEVELOPMENT 4 ANDROID 3 GITHUB 3 OBSERVABILITY 3 REACT 3 CAREER 2 CI 2 CYPRESS 2 DATABASE 2 GITHUB-ACTIONS 2 GRADLE 2 MOBILE 2
All Tags
ANDROID3 CAREER2 CI2 CODE1 CODE-COVERAGE1 CYPRESS2 DATABASE2 DEVELOPMENT4 DOCKER1 GITHUB3 GITHUB-ACTIONS2 GRADLE2 HONEYCOMB1 INDEX1 JOOQ1 KOTLIN5 KTOR1 METRICS1 MOBILE2 OBSERVABILITY3 OPEN-SOURCE1 OPENTELEMETRY2 PERFORMANCE1 POSTGRES2 PRODUCTIVITY1 REACT3 RECHARTS1 SIDE-PROJECT1 TEAM2 TESTING8
[A~Z][0~9]

Copyright © 2023 CRAIG ATKINSON. All Rights Reserved - Privacy policy