# Mocking

A software testing technique that replaces real dependencies with simulated components, or test doubles, to isolate and evaluate parts of an application.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Starting Android at Khan Academy

DevFeed: [Starting Android at Khan Academy](<https://devfeed.tech/articles/starting-android-at-khan-academy-27408.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/starting-android.htm>)

Author: Khan Academy

Published: 2016-02-29T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Library](<https://devfeed.tech/topics/library.md>), [modules](<https://devfeed.tech/topics/modules.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [module](<https://devfeed.tech/tags/module.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [picasso](<https://devfeed.tech/tags/picasso.md>), [play-store](<https://devfeed.tech/tags/play-store.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [retrofit](<https://devfeed.tech/tags/retrofit.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Khan Academy describes its first Android app, launched in August 2015, and the engineering practices used to build it. The team adopted established Android and open-source libraries, separated Android-independent core code from the app module, and used fast JVM tests and continuous integration.

### Source excerpt

By Ben Komalo The journey of a thousand miles... In March, 2015--almost 1 year ago to the day--we ... Read more

## API Mocking and Testing With Microcks

DevFeed: [API Mocking and Testing With Microcks](<https://devfeed.tech/articles/api-mocking-and-testing-with-microcks-4497.md>)

Original publisher: [Read original article](<https://www.baeldung.com/java-microks-api-mocking-testing>)

Author: Andrei Branza

Published: 2026-08-22T23:20:24Z

Content type: tutorial

Language: en

Sources: [Baeldung](<https://devfeed.tech/sources/baeldung.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Testcontainers](<https://devfeed.tech/topics/testcontainers.md>), [API](<https://devfeed.tech/topics/api.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Amazon Simple Queue Service (SQS)](<https://devfeed.tech/topics/amazon-simple-queue-service-sqs.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [compose](<https://devfeed.tech/tags/compose.md>), [docker](<https://devfeed.tech/tags/docker.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [popular](<https://devfeed.tech/tags/popular.md>), [testcontainers](<https://devfeed.tech/tags/testcontainers.md>), [testing](<https://devfeed.tech/tags/testing.md>), [testing-popular-testcontainers](<https://devfeed.tech/tags/testing-popular-testcontainers.md>)

### AI overview

This tutorial explains how to use Microcks with Testcontainers to generate API mocks from contracts and run conformance tests against real implementations. It covers importing an OpenAPI contract, starting Microcks in a JUnit 5 test, calling generated mock endpoints, and integrating mocking and testing into delivery workflows.

### Source excerpt

Learn how to use Testcontainers integration to spin up Microcks inside a JUnit5 test. The post API Mocking and Testing With Microcks first appeared on Baeldung.

## How AI-Assisted Development Uses Reviewed Design Documents and Extensive Testing

DevFeed: [How AI-Assisted Development Uses Reviewed Design Documents and Extensive Testing](<https://devfeed.tech/articles/i-stopped-writing-code-and-started-doing-this-32369.md>)

Original publisher: [Read original article](<https://brianjenney.substack.com/p/i-stopped-writing-code-and-started>)

Author: Brian Jenney

Published: 2026-05-30T17:42:50Z

Content type: article

Language: en

Sources: [Brian Jenney](<https://devfeed.tech/sources/brian-jenney.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Code](<https://devfeed.tech/topics/code.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [GitHub API](<https://devfeed.tech/topics/github-api.md>), [Figma](<https://devfeed.tech/topics/figma.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code](<https://devfeed.tech/tags/code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [figma](<https://devfeed.tech/tags/figma.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The author describes an AI-assisted development workflow in which reviewed, versioned design documents provide context for coding agents. Agents handle implementation and testing boilerplate, while developers decide expected behavior and test coverage. The author connects this process with frequent deployments and confidence in changes.

### Source excerpt

AI writes basically all of my code now.

## How to use Jest mocks

DevFeed: [How to use Jest mocks](<https://devfeed.tech/articles/how-to-use-jest-mocks-38398.md>)

Original publisher: [Read original article](<https://blog.danlew.net/2026/05/28/how-to-use-jest-mocks/>)

Author: Dan Lew

Published: 2026-05-28T13:10:16Z

Content type: tutorial

Language: en

Sources: [Dan Lew Blog](<https://devfeed.tech/sources/dan-lew-blog.md>)

Topics: [Jest](<https://devfeed.tech/topics/jest.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>)

Tags: [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A practical introduction to Jest mocks covering module mocking, mock hoisting, automock behavior, and configuring mocked return values. It also notes limitations in the documentation and discusses considerations for TypeScript users.

### Source excerpt

For better or worse, my life has become infested by Jest mocks. I come from the land of dependency injection (I even gave a talk once!), but whenever I talk about dependency injection to JavaScript developers I get this reaction: Instead, mocking is king. Unfortunately, I've found Jests&

## Practicing Playwright: API Testing, Intercepting Network Requests, and Mocking APIs

DevFeed: [Practicing Playwright: API Testing, Intercepting Network Requests, and Mocking APIs](<https://devfeed.tech/articles/practicing-playwright-api-testing-intercepting-network-requests-and-mocking-apis-22405.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/05/practicing-playwright-api-testing.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-05-28T02:20:30Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [API](<https://devfeed.tech/topics/api.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-testing](<https://devfeed.tech/tags/api-testing.md>), [browser](<https://devfeed.tech/tags/browser.md>), [guide](<https://devfeed.tech/tags/guide.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [network](<https://devfeed.tech/tags/network.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A practical tutorial on Playwright API testing using page.route to intercept, modify, abort, fetch, and mock network requests. It examines tests for the PracticeSoftwareTesting.com shopping cart and shows how API data can support UI assertions.

### Source excerpt

How would you intercept a network request and use the data for assertions? Mock a network request using those assertions? And make sure that all data is loaded in the UI before making your assertions, and that all tests can pass when run? We will be walking through Butch Mayhew's code that answers all of these questions, part of his LinkedIn Learning course: Playwright Essential Training. We will be examining the shopping cart test site PracticeSoftwareTesting.com and looking at code on Butch's companion GitHub site on how to mock out the API and use them in the UI tests. Playwright has a lot of features when it comes to API testing. You can intercept network requests, aborting, modifying, and mocking network requests. You can also simulate a slow network. This is all done through the Playwright methods: page.route. A route is the specific path or URL a client uses to request data or trigger a function on a server. GET /product would be an API call that gets everything from the address string called products, which then retrieves all products from the API endpoint called "products". The endpoint is "products" and the route is the name that accesses the endpoint. The Playwright API has a method called route, which allows Playwright to monitor and modify browser network traffic. Playwright.dev / Docs / Network: https://playwright.dev/docs/network Playwright and page.route: https://playwright.dev/docs/api/class-route Playwright Mocking API Guide: https://playwright.dev/docs/mock Adding page.route to your test allows you to do things such as: abort the route request with route.abort(), simulating various error codes such as accessdenied, addressunreachable, blockedbyclient, blockedbyresponse, connection aborted, connectionclosed, timedout, etc. continue sending the route's request with optional overrides such as changing the request URL, the headers, the method such as GET or POST, and the post data of the request. fetch the request without yet fulfilling it, so the res

## Lessons from Software Engineering at Google for Maintaining Healthy Codebases

DevFeed: [Lessons from Software Engineering at Google for Maintaining Healthy Codebases](<https://devfeed.tech/articles/what-i-learned-from-the-book-software-engineering-at-google-38697.md>)

Original publisher: [Read original article](<https://newsletter.techworld-with-milan.com/p/what-i-learned-at-swe-at-google-book>)

Author: Dr Milan Milanović

Published: 2026-02-26T16:01:23Z

Content type: opinion

Language: en

Sources: [Tech World With Milan Newsletter](<https://devfeed.tech/sources/tech-world-with-milan-newsletter.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Development](<https://devfeed.tech/topics/development.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [releases](<https://devfeed.tech/topics/releases.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>)

Tags: [code-review](<https://devfeed.tech/tags/code-review.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [release](<https://devfeed.tech/tags/release.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

A review of Software Engineering at Google argues that the book's lessons apply to teams of different sizes. It highlights practices for evolving, sharing, testing, releasing, and eventually deleting code, along with code review, dependency management, productivity measurement, and engineering culture.

### Source excerpt

And what you can apply from today.

## Stop Mocking Auth (It's Breaking Your Tests)

DevFeed: [Stop Mocking Auth (It's Breaking Your Tests)](<https://devfeed.tech/articles/stop-mocking-auth-it-s-breaking-your-tests-5803.md>)

Original publisher: [Read original article](<https://neon.com/blog/stop-mocking-auth-its-breaking-your-tests>)

Author: Shridhar Deshmukh

Published: 2025-12-29T18:23:12Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [password](<https://devfeed.tech/tags/password.md>), [product](<https://devfeed.tech/tags/product.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article argues that mocking authentication makes test suites misleading because mocks can bypass password verification, session management, database constraints, and relationships between authentication and application data. It recommends testing the behavior that can fail in production rather than only verifying mocked assumptions.

### Source excerpt

If your application has user accounts, authentication touches everything: who can access what, what data belongs to whom, and how your system behaves when sessions expire or credentials are invalid. Auth is also one of the most commonly mocked components in test suites. The reaso...

## A Reproducible Process for Fixing Bugs

DevFeed: [A Reproducible Process for Fixing Bugs](<https://devfeed.tech/articles/how-to-fix-any-bug-36173.md>)

Original publisher: [Read original article](<https://overreacted.io/how-to-fix-any-bug/>)

Published: 2025-10-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [React Router](<https://devfeed.tech/topics/react-router.md>), [React](<https://devfeed.tech/topics/react.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [claude](<https://devfeed.tech/tags/claude.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [react](<https://devfeed.tech/tags/react.md>), [react-router](<https://devfeed.tech/tags/react-router.md>)

### AI overview

The article describes debugging a web app where adding a React Router server call caused scrolling to jitter. It argues that reliable reproductions are essential because Claude and human engineers can propose incorrect fixes without a reproducible test.

### Source excerpt

The joys of vibecoding.

## Understanding Mocks, Stubs, Fakes, and Shunts in Test-Driven Development

DevFeed: [Understanding Mocks, Stubs, Fakes, and Shunts in Test-Driven Development](<https://devfeed.tech/articles/tdd-mocks-fakes-stubs-doubles-shunts-ayayay-28436.md>)

Original publisher: [Read original article](<https://craftingtechteams.substack.com/p/tdd-mocks-fakes-stubs-doubles-shunts>)

Author: Denis Čahuk

Published: 2025-07-21T08:05:36Z

Content type: article

Language: en

Sources: [Crafting Tech Teams](<https://devfeed.tech/sources/crafting-tech-teams.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [mocking](<https://devfeed.tech/tags/mocking.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A recording from Denis Čahuk's live video explains the differences between mocks, stubs, fakes, and shunts, and examines how overusing or misunderstanding test doubles can create tangled tests. It discusses testing outgoing commands with mocks and how difficult mocking setups may indicate design problems.

### Source excerpt

A recording from Denis Čahuk's live video

## How Mocking Affects Software Design and Testability

DevFeed: [How Mocking Affects Software Design and Testability](<https://devfeed.tech/articles/every-mock-is-a-bet-against-your-design-28430.md>)

Original publisher: [Read original article](<https://craftingtechteams.substack.com/p/recording-every-mock-is-a-bet-against>)

Author: Denis Čahuk

Published: 2025-07-19T07:45:14Z

Content type: tutorial

Language: en

Sources: [Crafting Tech Teams](<https://devfeed.tech/sources/crafting-tech-teams.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>)

Tags: [coverage](<https://devfeed.tech/tags/coverage.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A recorded talk examines when mocks are useful, common misconceptions about mocking and TDD, and how excessive or poorly chosen mocks can constrain software design and testability. It discusses multi-mock tests, database mocking, and designing narrow seams around dependencies.

### Source excerpt

If you've ever felt like your tests get in the way of refactoring, or like mocks make everything harder rather than simpler this stream is for you.

## Node.js 24.3.0 (Current)

DevFeed: [Node.js 24.3.0 (Current)](<https://devfeed.tech/articles/node-js-24-3-0-current-2826.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v24.3.0>)

Published: 2025-06-24T23:05:50Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Node.js 24.3.0 is a current release with filesystem event handling, type-stripping, test-runner mocking, and URL API changes, alongside dependency updates and fixes.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Mocking Frameworks May Mask Design Problems

DevFeed: [Mocking Frameworks May Mask Design Problems](<https://devfeed.tech/articles/every-mock-is-a-bet-against-your-design-28425.md>)

Original publisher: [Read original article](<https://craftingtechteams.substack.com/p/every-mock-is-a-bet-against-your>)

Author: Denis Čahuk

Published: 2025-06-12T12:54:42Z

Content type: opinion

Language: en

Sources: [Crafting Tech Teams](<https://devfeed.tech/sources/crafting-tech-teams.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>)

Tags: [frameworks](<https://devfeed.tech/tags/frameworks.md>), [mocking](<https://devfeed.tech/tags/mocking.md>)

### AI overview

This commentary argues that teams may use mocking frameworks to save time while overlooking underlying design problems. It presents mocking as a temporary workaround that can conceal poor design decisions.

### Source excerpt

Engineers glamorously flock to using mocking frameworks as a solution to saving time. In reality it is a band-aid provided by framework authors, baiting teams to ignore their subpar design decisions.

## How To Refactor Legacy Code

DevFeed: [How To Refactor Legacy Code](<https://devfeed.tech/articles/how-to-refactor-legacy-code-26208.md>)

Original publisher: [Read original article](<https://craftbettersoftware.com/p/how-to-refactor-legacy-code>)

Author: Daniel Moka

Published: 2025-04-12T05:01:26Z

Content type: tutorial

Language: en

Sources: [Craft Better Software](<https://devfeed.tech/sources/craft-better-software.md>)

Topics: [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [legacy-code](<https://devfeed.tech/tags/legacy-code.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A six-step strategy for refactoring legacy code by breaking dependencies, using characterization and other testing techniques, achieving test coverage, and then changing the code.

### Source excerpt

The art of making your code testable, testing it effectively, and refactoring it like a pro

## TDD February 2025 Agenda

DevFeed: [TDD February 2025 Agenda](<https://devfeed.tech/articles/tdd-february-2025-agenda-28434.md>)

Original publisher: [Read original article](<https://craftingtechteams.substack.com/p/tdd-february-2025-agenda>)

Author: Denis Čahuk

Published: 2025-02-03T15:48:33Z

Content type: article

Language: en

Sources: [Crafting Tech Teams](<https://devfeed.tech/sources/crafting-tech-teams.md>)

Topics: [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [nextjs](<https://devfeed.tech/tags/nextjs.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A February 2025 agenda for TDD-related events, including talks on self-testing code, a new TDD booklet release, reaction streams, live chats, and a session on test-driven development with Next.js.

### Source excerpt

What you can expect and goodies!

## Test Your Database Without Mocks

DevFeed: [Test Your Database Without Mocks](<https://devfeed.tech/articles/test-your-database-without-mocks-5814.md>)

Original publisher: [Read original article](<https://neon.com/blog/test-your-database-without-mocks>)

Author: Andrew Tate

Published: 2025-01-15T10:38:35Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [product](<https://devfeed.tech/tags/product.md>), [sql](<https://devfeed.tech/tags/sql.md>), [testing](<https://devfeed.tech/tags/testing.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

The article argues that database mocks are brittle, costly to maintain, and unable to faithfully verify important database behavior.

### Source excerpt

Mocks for databases are extremely brittle and complicated. - javcasas Mocks in general are rarely worth it, the DB ones: 10x so. - pdimitar Was dealing with mocking voodoo garbage this morning as a result of fixing a bug. What a horrible mess just to claim a few lines of "test co...

## Learning Path: Testing and Continuous Integration

DevFeed: [Learning Path: Testing and Continuous Integration](<https://devfeed.tech/articles/learning-path-testing-and-continuous-integration-4385.md>)

Original publisher: [Read original article](<https://realpython.com/learning-paths/test-your-python-apps/>)

Author: Real Python

Published: 2024-11-14T12:00:00Z

Content type: tutorial

Language: en

Sources: [Real Python](<https://devfeed.tech/sources/real-python.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Software Testing](<https://devfeed.tech/topics/software-testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [docker](<https://devfeed.tech/tags/docker.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [learning](<https://devfeed.tech/tags/learning.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [pytest](<https://devfeed.tech/tags/pytest.md>), [python](<https://devfeed.tech/tags/python.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A learning path for testing Python applications, covering unittest, doctest, mock objects, pytest, code quality, and continuous integration with GitHub Actions and Docker.

### Source excerpt

Learn how to test Python code with unittest, doctest, pytest, and mock objects. Set up continuous integration with GitHub Actions and Docker.

## Node.js 23.1.0 (Current)

DevFeed: [Node.js 23.1.0 (Current)](<https://devfeed.tech/articles/node-js-23-1-0-current-2792.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v23.1.0>)

Published: 2024-10-24T21:32:29Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [crypto](<https://devfeed.tech/tags/crypto.md>), [developers](<https://devfeed.tech/tags/developers.md>), [github](<https://devfeed.tech/tags/github.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Node.js 23.1.0 is a current release that adds improvements including correct length updates for resizable ArrayBuffer-backed objects and stable support for MockTimers. The release also includes updates to networking, assertions, benchmarking, builds, cryptography, dependencies, and SQLite compilation.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## SMURF: Beyond the Test Pyramid

DevFeed: [SMURF: Beyond the Test Pyramid](<https://devfeed.tech/articles/smurf-beyond-the-test-pyramid-23861.md>)

Original publisher: [Read original article](<http://testing.googleblog.com/2024/10/smurf-beyond-test-pyramid.html>)

Author: Google Testing Bloggers (noreply@blogger.com)

Published: 2024-10-15T12:22:00Z

Content type: tutorial

Language: en

Sources: [Google Testing Blog](<https://devfeed.tech/sources/google-testing-blog.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [adam-bender](<https://devfeed.tech/tags/adam-bender.md>), [article](<https://devfeed.tech/tags/article.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [flaky](<https://devfeed.tech/tags/flaky.md>), [google](<https://devfeed.tech/tags/google.md>), [integration](<https://devfeed.tech/tags/integration.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [memory](<https://devfeed.tech/tags/memory.md>), [production](<https://devfeed.tech/tags/production.md>), [resources](<https://devfeed.tech/tags/resources.md>), [speed](<https://devfeed.tech/tags/speed.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tott](<https://devfeed.tech/tags/tott.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

This Google Testing on the Toilet article explains why the conventional test pyramid is insufficient for growing test suites. It introduces the SMURF mnemonic--Speed, Maintainability, Utilization, Reliability, and Fidelity--as a framework for balancing testing trade-offs.

### Source excerpt

This article was adapted from a Google Testing on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office. By Adam Bender The test pyramid is the canonical heuristic for guiding test suite evolution. It conveys a simple message - prefer more unit tests than integration tests, and prefer more integration tests than end-to-end tests. While useful, the test pyramid lacks the details you need as your test suite grows and you face challenging trade-offs. To scale your test suite, go beyond the test pyramid. The SMURF mnemonic is an easy way to remember the tradeoffs to consider when balancing your test suite: Speed: Unit tests are faster than other test types and can be run more often--you'll catch problems sooner. Maintainability: The aggregated cost of debugging and maintaining tests (of all types) adds up quickly. A larger system under test has more code, and thus greater exposure to dependency churn and requirement drift which, in turn, creates more maintenance work. Utilization: Tests that use fewer resources (memory, disk, CPU) cost less to run. A good test suite optimizes resource utilization so that it does not grow super-linearly with the number of tests. Unit tests usually have better utilization characteristics, often because they use test doubles or only involve limited parts of a system. Reliability: Reliable tests only fail when an actual problem has been discovered. Sorting through flaky tests for problems wastes developer time and costs resources in rerunning the tests. As the size of a system and its corresponding tests grow, non-determinism (and thus, flakiness) creeps in, and your test suite is more likely to become unreliable. Fidelity: High-fidelity tests come closer to approximating real operating conditions (e.g., real databases or traffic loads) and better predict the behavior of our production systems. Integration and end-to-end tests can better reflect realistic conditions, while unit

## Node.js 22.3.0 (Current)

DevFeed: [Node.js 22.3.0 (Current)](<https://devfeed.tech/articles/node-js-22-3-0-current-2782.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v22.3.0>)

Published: 2024-06-11T19:00:57Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Android](<https://devfeed.tech/topics/android.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [process](<https://devfeed.tech/tags/process.md>), [python](<https://devfeed.tech/tags/python.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

Node.js 22.3.0 is a current release with semver-minor additions across the runtime, including WASI permission controls, Blob byte access, CommonJS load-time reporting, snapshot testing, module mocking, EventSource support, tracing for net.Server.listen, and process.getBuiltinModule(). It also stabilizes recursive copy methods and includes build and platform updates.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Increase Test Fidelity By Avoiding Mocks

DevFeed: [Increase Test Fidelity By Avoiding Mocks](<https://devfeed.tech/articles/increase-test-fidelity-by-avoiding-mocks-23850.md>)

Original publisher: [Read original article](<http://testing.googleblog.com/2024/02/increase-test-fidelity-by-avoiding-mocks.html>)

Author: Google Testing Bloggers (noreply@blogger.com)

Published: 2024-02-27T18:43:00Z

Content type: tutorial

Language: en

Sources: [Google Testing Blog](<https://devfeed.tech/sources/google-testing-blog.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Database](<https://devfeed.tech/topics/database.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [andrew-trenk](<https://devfeed.tech/tags/andrew-trenk.md>), [article](<https://devfeed.tech/tags/article.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [database](<https://devfeed.tech/tags/database.md>), [dillon-bly](<https://devfeed.tech/tags/dillon-bly.md>), [in-memory-database](<https://devfeed.tech/tags/in-memory-database.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tott](<https://devfeed.tech/tags/tott.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

This Google Testing on the Toilet article explains that test fidelity is higher when tests use the real dependency implementation. If that is impractical, it recommends using a fake, such as an in-memory database, and using a mock only when neither a real implementation nor a fake is suitable. Mocks can reduce fidelity because their inline behavior may diverge from the real dependency.

### Source excerpt

This article was adapted from a Google Testing on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office. By Andrew Trenk and Dillon Bly Replacing your code's dependencies with mocks can make unit tests easier to write and faster to run. However, among other problems, using mocks can lead to tests that are less effective at catching bugs. The fidelity of a test refers to how closely the behavior of the test resembles the behavior of the production code. A test with higher fidelity gives you higher confidence that your code will work properly. When specifying a dependency to use in a test, prefer the highest-fidelity option. Learn more in the Test Doubles chapter of the Software Engineering at Google book. Try to use the real implementation. This provides the most fidelity, because the code in the implementation will be executed in the test. There may be tradeoffs when using a real implementation: they can be slow, non-deterministic, or difficult to instantiate (e.g., it connects to an external server). Use your judgment to decide if a real implementation is the right choice. Use a fake if you can't use the real implementation. A fake is a lightweight implementation of an API that behaves similarly to the real implementation, e.g., an in-memory database. A fake ensures a test has high fidelity, but takes effort to write and maintain; e.g., it needs its own tests to ensure that it conforms to the behavior of the real implementation. Typically, the owner of the real implementation creates and maintains the fake. Use a mock if you can't use the real implementation or a fake. A mock reduces fidelity, since it doesn't execute any of the actual implementation of a dependency; its behavior is specified inline in a test (a technique known as stubbing), so it may diverge from the behavior of the real implementation. Mocks provide a basic level of confidence that your code works properly, and can be especially use

## .NET developers alert: Moq NuGET package exfiltrates user emails from git

DevFeed: [.NET developers alert: Moq NuGET package exfiltrates user emails from git](<https://devfeed.tech/articles/net-developers-alert-moq-nuget-package-exfiltrates-user-emails-from-git-8021.md>)

Original publisher: [Read original article](<https://snyk.io/blog/moq-package-exfiltrates-user-emails/>)

Author: Liran Tal

Published: 2023-08-09T05:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [NuGet](<https://devfeed.tech/topics/nuget.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [pii](<https://devfeed.tech/topics/pii.md>), [Security](<https://devfeed.tech/topics/security.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Git](<https://devfeed.tech/topics/git.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [acquisition](<https://devfeed.tech/tags/acquisition.md>), [application-security](<https://devfeed.tech/tags/application-security.md>), [blog](<https://devfeed.tech/tags/blog.md>), [capture](<https://devfeed.tech/tags/capture.md>), [developer](<https://devfeed.tech/tags/developer.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [dot-net](<https://devfeed.tech/tags/dot-net.md>), [git](<https://devfeed.tech/tags/git.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [net](<https://devfeed.tech/tags/net.md>), [nuget](<https://devfeed.tech/tags/nuget.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [pii](<https://devfeed.tech/tags/pii.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk](<https://devfeed.tech/tags/snyk.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

The article reports that Moq, a widely used .NET mocking library, began exfiltrating developers' configured Git email addresses starting with version 4.20.0. The data was hashed into an HTTP request to Azure blob storage and shared with a third-party SponsorLink service. Snyk frames the incident as an open-source software supply-chain security and package-health concern.

### Source excerpt

On August 8th 2023, the .NET community was made aware that the testing library called Moq exfiltrates developers emails from their development machine, and sends them off to third-party remote servers.

## Guide to Maestro UI Testing with API Mocking Using WireMock

DevFeed: [Guide to Maestro UI Testing with API Mocking Using WireMock](<https://devfeed.tech/articles/guide-to-maestro-ui-testing-with-api-mocking-using-wiremock-22887.md>)

Original publisher: [Read original article](<https://maestro.dev/blog/guide-to-maestro-ui-testing-with-api-mocking-using-wiremock>)

Author: Ashish Kharche

Published: 2023-06-19T07:00:00Z

Content type: tutorial

Language: en

Sources: [mobile.dev - Medium](<https://devfeed.tech/sources/mobile-dev-medium.md>)

Topics: [Mocking](<https://devfeed.tech/topics/mocking.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ui](<https://devfeed.tech/topics/ui.md>), [API](<https://devfeed.tech/topics/api.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [code](<https://devfeed.tech/tags/code.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [mock-api](<https://devfeed.tech/tags/mock-api.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>)

### AI overview

This step-by-step guide explains how to optimize Maestro UI testing by using mock APIs with WireMock. It covers local WireMock setup and WireMock Cloud's web UI, including response stubbing, request verification, proxying, record/playback, and fault injection.

### Source excerpt

Mock with WireMock, UI test with Maestro

## Interfaces 101 : Testing with a Mock Interface Ep. 8

DevFeed: [Interfaces 101 : Testing with a Mock Interface Ep. 8](<https://devfeed.tech/articles/interfaces-101-testing-with-a-mock-interface-ep-8-22220.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/03/interfaces-101-testing-with-a-mock-interface-ep-8.html>)

Published: 2023-03-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [health-check](<https://devfeed.tech/tags/health-check.md>), [http](<https://devfeed.tech/tags/http.md>), [http-roundtripper](<https://devfeed.tech/tags/http-roundtripper.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [mock-api](<https://devfeed.tech/tags/mock-api.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video tutorial explains how to design small, composable interfaces in Go and test an API client. It demonstrates performing HTTP requests and using a mock implementation to specify server response codes during unit testing.

### Source excerpt

Introduction In episode 7, Miki discussed design considerations to keep in mind while creating interfaces in Go with the first idea he proposed being that an interface should represent what we need from a type, and not what is stored on the type. To add some clarity to this thought, Miki explained how the io.Reader and io.Writer interfaces each require one method to be implemented although the underlying concrete type may store more information. The second idea he proposed was that interfaces should be small, with less than 6 methods, to ensure your code remains composable.

## Interfaces 101 : Implementing Generics with Interfaces Ep. 1

DevFeed: [Interfaces 101 : Implementing Generics with Interfaces Ep. 1](<https://devfeed.tech/articles/interfaces-101-implementing-generics-with-interfaces-ep-1-22197.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/interfaces-101-implementing-generics-with-interfaces.html>)

Published: 2023-01-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [developers](<https://devfeed.tech/tags/developers.md>), [generic-programming](<https://devfeed.tech/tags/generic-programming.md>), [generics](<https://devfeed.tech/tags/generics.md>), [go](<https://devfeed.tech/tags/go.md>), [go-types](<https://devfeed.tech/tags/go-types.md>), [golang](<https://devfeed.tech/tags/golang.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [polymorphism](<https://devfeed.tech/tags/polymorphism.md>), [series](<https://devfeed.tech/tags/series.md>), [types](<https://devfeed.tech/tags/types.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A video tutorial explains how Go interfaces can constrain the types accepted by generic functions. It covers defining generic functions, explicitly passing types, and addressing compiler recognition issues while replacing duplicate functions that return different types.

### Source excerpt

Introduction Go interfaces are beneficial to Go developers because they: Allow interfaces to separate mechanism from behavior. Increase flexibility of function parameters. Enable mocking of function parameters. With the addition of generics in Go 1.18, interfaces can be used to constrain the types of values a generic function will accept. To dive deeper into Go interfaces, we invite you to join Miki in his latest series dedicated to Go interfaces.

[Next page](<https://devfeed.tech/topics/mocking.md?cursor=WyIyMDIzLTAxLTMxVDAwOjAwOjAwKzAwOjAwIiwgImNjNjE3Y2ZiLTAzMjUtNDFiNC1hMDAzLWM2YTMyODRkZTBhOSJd>)