Skip to content

SPIKE: Investigate replacing ginkgo with go test #2612

@kate-osborn

Description

@kate-osborn
Contributor

We write our unit tests using both ginkgo and go test, and we run all the unit tests using the ginkgo binary. We believe that using ginkgo to run both types of tests makes test failures challenging to see and debug. See #2584 for more details.

We reached out to ginkgo, and they recommended that we switch to using ginkgo or go test for all our tests. Ginkgo does not support running both types, especially when run in parallel.

Most of our tests are written with go test, but some of our most important and complex tests are written with ginkgo. See change processor tests for an example. Ginkgo was initially developed 10 years ago because go test lacked a rich feature set. Since then, many features have been added to go test that may make ginkgo unnecessary.

This spike is to determine the following:

  • Which ginkgo features is NGF leveraging today?
  • Are these features available in go test? Or can we import an additional testing library that can provide these features?
  • How big of an effort would it be to rewrite our ginkgo tests as go tests?

Note: this spike only applies to our unit tests.

Activity

added
testsPull requests that update tests
tech-debtShort-term pain, long-term benefit
spikeIssue to investigate a problem or solution, but not implement.
on Sep 26, 2024
added this to the v2.0.0 milestone on Oct 8, 2024
added
refinedRequirements are refined and the issue is ready to be implemented.
on Oct 28, 2024
modified the milestones: v1.6.0, v2.0.0 on Dec 18, 2024
modified the milestones: v2.0.0, v2.1.0 on Jan 16, 2025
modified the milestones: v2.1.0, v2.2.0 on May 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refinedRequirements are refined and the issue is ready to be implemented.spikeIssue to investigate a problem or solution, but not implement.tech-debtShort-term pain, long-term benefittestsPull requests that update tests

    Type

    No type

    Projects

    Status

    🆕 New

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mpstefan@kate-osborn

        Issue actions

          SPIKE: Investigate replacing ginkgo with go test · Issue #2612 · nginx/nginx-gateway-fabric