Testing/E2E: Guides and Practical Know-how | Page 19 | mironsoft Blog
Testing/E2E
-
Apr 4, 2025
Mocks only tell you whether the frontend handles an assumed API response correctly, not whether that assumption still holds. Contract testing with Pact.js closes exactly that gap: the frontend defines its expectations as an executable contract, and the backend automatically verifies whether it actually fulfills that contract.
-
Apr 4, 2025
Tests that check implementation details break with every refactor. React Testing Library enforces tests from the user's perspective, with getByRole instead of getByTestId, userEvent instead of fireEvent, and MSW instead of fetch mocks.
-
Mar 31, 2025
A GraphQL API that works in development mode is not yet a production-ready API. Performance traps, security gaps and missing observability only surface under load, exactly when there is little room to react. This checklist closes those gaps before they become a problem.
-
Mar 31, 2025
GraphQL APIs without systematic tests are fragile: every schema change can silently break frontends. Query tests, snapshots, and contract tests together form a testing layer that catches regressions early and keeps frontend contracts stable over the long run.
-
Mar 29, 2025
A penetration test uncovers real attack paths that automated scanners miss, but it requires written permission upfront, a clear scope, and a team that actually acts on the results. This article explains testing approaches, authorization requirements, how development teams prepare, and the difference between an internal security review and hiring external pentesters, illustrated with concrete practical examples.
-
Mar 28, 2025
The most common misallocation in test automation: too many slow end-to-end tests and too few fast unit tests. The test pyramid provides the right weighting, three levels with clearly separated responsibilities that together form a reliable test strategy.
-
Mar 28, 2025
The most frustrating pattern in CI/CD practice: a Bash script runs flawlessly locally and fails in the pipeline with a cryptic error. The cause is rarely a bug in the script itself. It is a difference in the execution environment. PATH, login shells, missing environment variables, different Bash versions, and Docker container differences are the systematic traps that break Bash in CI/CD.
-
Mar 27, 2025
Once an application deliberately opens a new tab, say for an external payment provider like PayPal, or has to keep state in sync across several simultaneously open windows, the classic E2E testing model confined to a single window no longer cuts it. Cross-tab and multi-window testing demands a deliberate, explicit model of several simultaneously active browser contexts, one that Playwright supports considerably more naturally than Cypress, where the same task has historically only been solvable with substantial workarounds.
-
Mar 26, 2025
When a Magento page fails to load or shows wrong data, the problem often lies in a GraphQL query, but where exactly? Browser DevTools, Magento logs and dedicated GraphQL clients form the complete debugging stack.
-
Mar 24, 2025
An order confirmation or a registration email belongs to the most critical yet least frequently tested paths of an online store, because email delivery happens outside the direct reach of a browser test and lands asynchronously, with unknown delay, in a foreign system. A test SMTP server like Mailhog or Mailtrap solves exactly this problem by intercepting outgoing emails within the test environment, exposing them through its own API, and making an email's content, subject, and links just as precisely testable as a DOM element in the browser.