HIGHLIGHTS: Taming backend complexity: lessons from a decade of TDD, What's new in JUnit 6, and 2FA testing with Playwright and Mailosaur.
03.11.2025 16:20 β π 1 π 0 π¬ 0 π 0@petrikainulainen.bsky.social
Spring ninja, summer rock star, autumn hacker, and winter guru. I write code. Titles are irrelevant.
HIGHLIGHTS: Taming backend complexity: lessons from a decade of TDD, What's new in JUnit 6, and 2FA testing with Playwright and Mailosaur.
03.11.2025 16:20 β π 1 π 0 π¬ 0 π 019 interesting SW development blog posts which I read in September 2025. HIGHLIGHTS: why I am declining your AI generated MR, keeping secrets out of logs, and are the SOLID principles outdated
07.10.2025 09:16 β π 0 π 0 π¬ 0 π 021 interesting test automation articles which I read during September 2025. Highlights: the Tetris principle, how to optimize your Spring Boot integration tests, and how to write your first performance tests with Grafana k6.
30.09.2025 08:58 β π 1 π 0 π¬ 0 π 0An interesting article which explains why some people cannot pass technical interviews which include a live coding session.
09.09.2025 15:05 β π 0 π 0 π¬ 0 π 0When you say tech bros, do you mean people like Bezos, Zuckerberg and Musk, or are you referring to "normal people" who might or might not vibe code?
09.09.2025 12:38 β π 2 π 0 π¬ 1 π 0You should always take responsibility for the code you commit.
09.09.2025 10:27 β π 2 π 0 π¬ 1 π 115 interesting SW development blog posts which I read in August 2025. HIGHLIGHTS: I Know When You Are Vibe Coding, AWS deleted my 10-year account and all data without warning, and Live Coding Sucks.
08.09.2025 14:39 β π 0 π 0 π¬ 0 π 0Why I Fired Google and Gave an AI Chatbot a Shot: www.petrikainulainen.net/software-dev...
04.09.2025 18:01 β π 0 π 0 π¬ 0 π 0HIGHLIGHTS: how to write automated tests for a legacy application that cannot be unit tested, learn to test production-ready Spring Boot applications, and how to write Playwright tests which verify that the expected interactions happen between our UI and REST API.
01.09.2025 15:14 β π 0 π 0 π¬ 0 π 0HIGHLIGHTS: the rules and roles of AI assisted testing, how to create a useful logging config for Spring Boot tests, and learn to write performance tests with Playwright and Lighthouse.
01.08.2025 10:05 β π 1 π 0 π¬ 0 π 0New in my toolkit (after resilience4j and Spring Retry): #failsafe
failsafe.dev
Nice api, clear docs, easy and flexible to integrate and use. Well done.
#java #awesomeEcoSystem
I will grab Elden Ring and Horizon Forbidden West from the Steam's summer sale. The price is decent and I guess these (+ Rocket League) will keep me entertained for the rest of this year.
01.07.2025 06:56 β π 0 π 0 π¬ 0 π 0HIGHLIGHTS: a good test name is a sentence, how to write parameterized test classes with JUnit 5, and supercharge your Playwright tests with the Chrome DevTools Protocol.
30.06.2025 16:49 β π 0 π 1 π¬ 0 π 0I have come to the conclusion that I will monetize my blog. Have you done the same? If yes, what membership plugin / service did you use?
10.06.2025 14:51 β π 0 π 0 π¬ 0 π 0This is an excellent post.
10.06.2025 11:46 β π 2 π 0 π¬ 0 π 0@ParameterizedClass @ValueSource(strings = {"foo", "bar"}) class SomeTests { @Parameter String value; @Test void shouldNotBeNull() { assertNotNull(value); } @Test void lengthShouldBeThree() { assertEquals(3, value.length()); } }
β¨ New blog post: "STF Milestone 4: Parameterized test classes"
JUnit 5.13 introduced parameterized test classes (in addition to methods). They are a powerful testing tool that has long been missing from JUnit Jupiter...
π marcphilipp.de/blog/2025/06...
I think people go through various phases of using AI:
1. AI is just a hype
2. AI seems to be helpful
3. Wow, AI is amazing and it's going to take away our jobs
4. OMG, AI made my codebase a mess
5. Okay, so I need to do the thinking and use AI to carry out the tasks.
That's actually how I did it. So, I wrote the guidelines with Markdown and then opened it, asked assistant to check my instructions and then for example generate some code. Can you use guideline files if you aren't using JUnie?
31.05.2025 18:53 β π 0 π 0 π¬ 0 π 0I am testing the Jetbrains AI Assistant and I have noticed that I can pass guidelines to AI chat by following these steps: 1) Open the markdown file which contains the guidelines 2) Open AI Chat and allows access to code base 3) Ask the assistant to read guidelines and generate code. Interesting.
31.05.2025 11:30 β π 1 π 0 π¬ 1 π 0Highlights: how to generate good tests with AI, 3 ways to run a Docker container with Testcontainers when we are writing integration tests for Spring Boot applications, and vibe testing with Playwright.
31.05.2025 09:53 β π 2 π 2 π¬ 0 π 0If you want to generate Spring controllers with openapi-generator-maven-plugin and you don't want to include Swagger annotations in the generated code, this comment describes the configuration you have to use: github.com/OpenAPITools...
26.05.2025 19:47 β π 1 π 0 π¬ 0 π 0Sure thing. I actually got guide excited about the coding guidelines because that sounds like a great way to both share guidelines for team members and of specify what kind of code should be generated.
22.05.2025 06:02 β π 1 π 0 π¬ 0 π 0Sometimes vibe-coding is relaxing, and sometimes it's not.
21.05.2025 19:25 β π 0 π 0 π¬ 0 π 0Want to use Junie AI Agent for developing #SpringBoot applications.
You should checkout the guidelines repository github.com/JetBrains/ju...
You can use "guidelines" files for AI Agents, "guidelines-with-explanations" files for developer understanding.
Your contributions are most welcome!
Spring JdbcClient: A better alternative to JdbcTemplate
www.youtube.com/watch?v=oF7v...
A practical hands-on tutorial on how to use JdbcClient to interact with SQL databases.
I think that I will try Jetbrains AI. I have a personal project which I will start from the scratch and it will be interesting to see if it can write the "boring" code when it has access to the code base.
21.05.2025 09:29 β π 1 π 0 π¬ 1 π 0Expectations vs. Reality
20.05.2025 08:22 β π 0 π 0 π¬ 0 π 0