
Black Sheep Code
Various tech writings from David Johnston.
Just For Fun
- Conway's Game of Life
- GeoPlanets - A foray in to geometric art.
Blog
How to configure Remix and mdx-bundler
I've switched this blog to using Remix and mdx-bundler to make better use of frontmatter headers
Agnostic state and service management in React
Avoid make state framework specific calls inside of your React components, and instead access them via hooks
Dependency injection when using redux
An unconventional strategy to inject the behaviour of your state management in testing contexts
Different Approaches to Form Element State Management in React
Working with lists of data for form inputs
Extensible changes
Making changes in an extensible manner avoids having to do signficant code rewrites
Why use OpenAPI?
OpenAPI is a spec for describing HTTP APIs. It has a healthy ecosystem of tooling that supports it.
Generating server and client code using OpenAPI tooling?
We'll use openapi-generators to generate a Go backend and a React frontend.
Generating MSW mocks from an OpenAPI spec.
We're using msw-auto-mock to generate MSW mocks to test our React application.
Postman and OpenAPI
Syncing Postman with our Github repo, generating queries from our OpenAPI spec
Postman and OpenAPI - Automated Tests
Postman has an automated testing feature, but how well does it work?
OpenAPI and contract tests with Jest
Using good ol' Jest to write some contract tests
OpenAPI contract tests - Performance testing
We can use a tool called jest-timing-reporter to provide a performance diff in our pull request
Black box contract testing - third party API mocking using Mockbin
We have an API that makes calls out to a third party - how do we test it?
How to effectively hire contractors
Contractors are best utilised to plow through a well defined scope of work.
I'm playing with Remix
Using Remix to generate a static blog
posts/testing_easy_mde
posts/testing_strategies
The case for blackbox tests
Blackbox tests do not require knowledge of the implementation details - they're a 'how the consumer sees it' style of test.
The case for splitting Cypress tests into multiple it blocks
Cypress recommends long running tests with lots of assertions. I argue that it would be helpful if we had granular visiblity of the parts of the test.
The horseshoe model for software development
I propose that the designer and the QA should be one and the same
This blog now features comments
I've add comment functionality via the Utterances plugin
Thoughts about JSON API
JSON API is an opinionated REST API structuring spec. Here's my thoughts.
Today I learned: The Etc/GMT+x timezones actually mean UTC-x
Well that's counter intuitive
User Experience reflects data the underlying data structu
I propose a variation of Conway's Law.
What is the role of QA and how should their tests fit into the development process?
If we're doing shift left testing, and developers are writing their own tests - then where does that leave QA?
Why I don't like API mocking as a necessary frontend testing strategy
A lot of state management frameworks recommend doing API mocking as the testing strategy.
I support open source: Open Collective