Jakub Sobolewski
banner
jakub-sobolewski.bsky.social
Jakub Sobolewski
@jakub-sobolewski.bsky.social
I help R developers improve their testing skills.

https://jakubsobolewski.com

Staff Engineer @ Appsilon.
Want a roadmap to clean, reliable tests?

Get it here: jakubsobolewski.com/get-roadmap/
Advance Your R Testing Roadmap
Accelerate your feedback loops. Build tests that help you deliver faster.
jakubsobolewski.com
September 17, 2025 at 1:59 PM
Have lots of tests but still do heavy manual testing?

That’s a red flag your tests don’t build confidence. Tests should help you ship faster, not add overhead. Rethink your test strategy to reduce manual effort.
September 17, 2025 at 1:59 PM
Flaky tests? They waste energy and slow development.

Look for external dependencies like timers, APIs, or asynchronous events. If you own the code, inject and substitute those dependencies. If not, stub them. In Shiny apps, wait properly before asserting.
September 17, 2025 at 1:59 PM
If you update tests with every code change, you’re wasting time.

Test public interfaces, the ways your code is actually used. This keeps tests stable, meaningful, and cuts down on brittle failures. Focus on testing behavior, not implementation details.
September 17, 2025 at 1:59 PM
Users get value. You save time and money.

Don’t get lost in code no one asked for. Take control of what gets built.

Ready to change your workflow?
August 4, 2025 at 2:34 PM
I break down how to start with Behavior-Driven Development and build features your users actually want.

How it works:
→ Start every feature as a user story, not a wish list.
→ Write specs from your users’ words.
→ Write only the code users need.
→ Automate checks along the way.
August 4, 2025 at 2:34 PM
Great point.

1. APIs are versioned: you track the API version (or version of a package that wraps an API). Your contracts should be safe until you upgrade to new version.
2. Schedule a test run that checks if real APIs still return the shapes you expect. Run it periodically for extra safety.
August 1, 2025 at 9:59 AM
🔁 Result:

Fast tests ✅
Reliable tests ✅
Cheap tests ✅
Better dev experience ✅
August 1, 2025 at 9:10 AM
Here's the approach:

1. Abstract the dependency with an interface
2. Use fakes or mocks in tests
3. Test your code's behavior *against* the fake
4. Plug in the real dependency only in production
August 1, 2025 at 9:10 AM
✅ Test only the code you own.

How? Simulate the external system in tests. You don’t need the real thing.
August 1, 2025 at 9:10 AM
🚫 Why you shouldn't test external dependencies directly:

🐢 Slow (waiting for responses)
🎲 Flaky (unreliable availability/results)
💸 Expensive (API costs add up)

Or worse, tests don’t get written at all.
August 1, 2025 at 9:10 AM
Ask AI to draft specs, review them, then refine.
Repeat in minutes what might take days by hand.

Your specs become abstract, clear, and future-proof—no matter how the app evolves.

Give it a go. Cut through legacy fog with AI-powered BDD.
July 30, 2025 at 8:18 AM
Looks simple but hides complexity. How to write tests that capture what happens without leaking how?

Check this post to see how to use AI to iterate on writing specifications faster: jakubsobolewski.com/blog/ai-assi...
How to Write Cucumber Specifications the Right Way: From App Description to Scenarios
Adding Cucumber specifications to an existing application? Learn how to write Gherkin scenarios that focus on user behavior, not implementation details. Use AI to iterate faster.
jakubsobolewski.com
July 30, 2025 at 8:18 AM
Imagine this workflow:

👉 Start on a “Data” page with steps: Upload → Filtering → Mapping → Preview
👉 User uploads or picks a default dataset, then moves through steps
👉 Submit variable mappings → data preview appears
👉 “Visualization” unlocks to view plots
July 30, 2025 at 8:18 AM
🔔 Follow me or subscribe for updates as new examples land.
🤔 Have a specific case you want covered? Leave a comment or submit a request, let's build something great, together!
July 22, 2025 at 8:06 AM
What You’ll Find

→ A growing collection of focused R test examples
→ Step-by-step breakdowns showing what to do and why it works
→ Real code ready to drop into your project with confidence

So far, there’s only one example, but many more are on the way! 🚀
July 22, 2025 at 8:06 AM
As The R Tests Gallery grows, I hope it becomes a reliable source for test examples, techniques, and practical practices in live code.

The patterns featured come straight from real projects I’ve worked on, if they helped me, maybe they’ll help you too!
July 22, 2025 at 8:06 AM
Your legacy Shiny app doesn't have to stay legacy forever.

Want to learn more about testing strategies for R? Check out my packages and resources for comprehensive testing approaches.

jakubsobolewski.com/blog
Testing in R
Learn how to effectively test in R and use tests to drive your development process.
jakubsobolewski.com
July 15, 2025 at 12:01 PM