fern-reporter

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

README ¶

Fern

GitHub contributors

Introduction

Welcome to the Fern Project, an innovative open-source solution designed to enhance Ginkgo test reports. This project is focused on capturing, storing, and analyzing test data to provide insights into test performance and trends. The Fern Project is ideal for teams using Ginkgo, a popular BDD-style Go testing framework, offering a comprehensive overview of test executions and performance metrics.

Key Features:

  1. Historical Test Data Tracking: Stores detailed records of tests run against various projects, providing a historical view of testing efforts.
  2. Latency and Performance Metrics: Captures the time taken for each "It" block in Ginkgo tests, aiding in identifying performance bottlenecks.
  3. Data-Driven Analytics (To be implemented): Future feature to leverage data for analytics, including identification of frequently failing tests.
  4. Coverage and Test Evolution Analysis (To be implemented): Planned feature to offer insights into test coverage and the evolution of tests over time.
  5. Authorized Access to Test Reports (To be implemented): Upcoming feature to ensure secure access to test reports.

Installation and Setup

Fern is a Golang Gin-based API that connects to a PostgreSQL database. It is designed to store metadata about Ginkgo test suites and has two main components:

  1. API Server: A central server that stores test metadata. It needs to be deployed independently.
  2. Client Library: Integrated into Ginkgo test suites to send test data to the API server.

Setting Up the API Server

Prerequisites
  • Golang environment.
  • Docker for running the PostgreSQL database.
  • Install gox for building the binary
    go install github.com/mitchellh/gox@latest
    
Deployment
  1. Clone the Fern Repository: Clone the repository to your local machine.
    git clone git@github.com:Guidewire/fern-reporter.git
    
  2. Start the API Server: Navigate to the project directory and start the server.
    cd fern-reporter
    make docker-run-local
    

Integrating the Client into Ginkgo Test Suites

Accessing Test Reports using embedded HTML view

  • View reports at http://[your-api-url]/reports/testruns/.
  • If using make docker-run-local, reports are available at http://localhost:8080/reports/testruns/.

Accessing Test Reports using Fern-UI

To view the test reports using the React-based Fern-UI frontend, follow these steps:

  • Follow the instructions in the Fern-UI repository to set up and run the frontend application.

  • Once the Fern-UI is running, access the dashboard at http://[frontend-api-url]/testruns to view the test reports.

  • View reports at http://[your-api-url]/reports/testruns.

  • If using make docker-run-local, reports are available at http://localhost:8080/reports/testruns.

Accessing Test Reports using the API

Reports are also available as JSON at http://[host-url]/api/reports/testruns.

Additional Resources

🤩 Thanks to all our Contributors

Thanks to everyone, that is supporting this project. We are thankful, for evey contribution, no matter its size!

Documentation ¶

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL