Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC: E2E testing module for ExpressoTS #234

Open
rsaz opened this issue Apr 1, 2024 · 0 comments
Open

POC: E2E testing module for ExpressoTS #234

rsaz opened this issue Apr 1, 2024 · 0 comments
Labels
enhancement New feature or request qa qa working group

Comments

@rsaz
Copy link
Member

rsaz commented Apr 1, 2024

Description

The goal of this issue is to research and develop a prototype for a new component within the ExpressoTS framework, namely @expressots/test. This component aims to streamline both unit and end-to-end (E2E) testing processes for developers, providing a universal interface that can be integrated with any testing framework such as Jest, Vitest, or Playwright. The core of this initiative is to create a generic, yet powerful, testing module that leverages decorators and other advanced capabilities to facilitate a seamless testing experience.

Objective

  • To prototype a generic testing module that abstracts the complexities involved in setting up and executing tests, making it easier for developers to write and maintain their test suites.
  • Ensure compatibility with leading testing frameworks (e.g., Jest, Vitest, Playwright) to allow developers the flexibility to choose their preferred tools without sacrificing functionality.
  • Streamline the testing workflow by introducing decorators and utilities that simplify common tasks such as mocking, spying, and test data management.

Requirements

Research & Compatibility

  • Conduct a thorough analysis of existing testing frameworks to identify common patterns, functionalities, and pain points experienced by developers.
  • Ensure the solution is framework-agnostic, offering a consistent API/interface that works seamlessly across Jest, Vitest, Playwright, etc.

Design & Architecture

  • Design a modular architecture for @expressots/test that allows for easy expansion and integration with different testing frameworks and tools.
  • Develop a set of decorators and utilities that can be universally applied to manage test lifecycle hooks, mocks, spies, and assertions.

Implementation

  • Prototype the core functionalities of @expressots/test, focusing on simplicity of use and extensibility.
  • Implement a series of basic unit and E2E test examples demonstrating the capabilities and ease of use of the new module.

Documentation & Examples

  • Provide comprehensive documentation covering setup, configuration, and examples of using @expressots/test with different testing frameworks.
  • Document best practices and provide guidance on how to effectively leverage the module to maximize testing efficiency and coverage.

Feedback Loop

  • Establish a mechanism for gathering user feedback on the prototype to guide further development and refinement.

Expected Outcomes

  • A functional prototype of @expressots/test that demonstrates its capabilities in streamlining the testing process.
  • Detailed documentation and examples that enable developers to easily integrate the module into their existing projects.
    An actionable plan based on user feedback for further development and enhancement of the module.
@rsaz rsaz added enhancement New feature or request qa qa working group labels Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request qa qa working group
Projects
Status: Backlog
Development

No branches or pull requests

1 participant