Coder Social home page Coder Social logo

Comments (2)

ChristianUlbrich avatar ChristianUlbrich commented on May 21, 2024 3

Why would integrations tests have to be any different for micro-frontends? Micro-Frontends are an architectural style to build big apps. If you want to test functionality across function verticals, you employ exactly the same methods that you'd emloyed to test yarr big olde' monolithic app. But using a composition-based approach, you can:

  • version your components and hopefully rely on them sticking to SemVer and thus prevent breaking things by using meaningful versions (as you suggest); one feasible, but very specific approach for this is Canopy's Sofe
  • test your components in an isolated way

If you understand components not as a mere "buy button" but an app feature (in contrast to a product feature) that are developed in real verticals (meaning they are aligned with the backend) - you can considerably narrow down the test effort. As @naltatis says, you'd want to do most of your tests at the component level and only do few high-level integration tests. Of course with a micro-frontend architecture you could test the integration of different components isolated from the real app in a small testbed application to make sure, that this combination will work in your real app.

from micro-frontends.

naltatis avatar naltatis commented on May 21, 2024

This is indeed a tricky topic.

Features inside one vertical are tested by the team itself. This is where we write most of our tests.

To make sure all pieces work together we also had projects where we've implenented an additional higher level integration test that tests a complete customer journey (eg. from homepage through checkout). For this to work the team responsible for this test must have a reliable way of identifying the relevant parts on the page (buy button, success messages, ...). The requires some coordination.

Another alternative is, that each team directly tests its direct integration points with the other teams.

I've added integration testing to my writing todo list.

from micro-frontends.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.