All Versions
Latest Version
Avg Release Cycle
63 days
Latest Release

Changelog History
Page 4

  • v1.0.0-beta Changes

    ๐Ÿ’ฅ Breaking Changes:

    • ๐Ÿ”„ Changed OmegaMatcher interface. Instead of having Match return failure messages, two new methods FailureMessage and NegatedFailureMessage are called instead.
    • ๐Ÿšš Moved and renamed OmegaFailHandler to types.GomegaFailHandler and OmegaMatcher to types.GomegaMatcher. Any references to OmegaMatcher in any custom matchers will need to be changed to point to types.GomegaMatcher

    ๐Ÿ†• New Test-Support Features:

    • โœ… ghttp: supports testing http clients
      • Provides a flexible fake http server
      • Provides a collection of chainable http handlers that perform assertions.
    • ๐Ÿ‘ gbytes: supports making ordered assertions against streams of data
      • Provides a gbytes.Buffer
      • Provides a Say matcher to perform ordered assertions against output data
    • โœ… gexec: supports testing external processes
      • Provides support for building Go binaries
      • Wraps and starts exec.Cmd commands
      • Makes it easy to assert against stdout and stderr
      • Makes it easy to send signals and wait for processes to exit
      • Provides an Exit matcher to assert against exit code.

    DSL Changes:

    • Eventually and Consistently can accept time.Duration interval and polling inputs.
    • ๐Ÿ”ง The default timeouts for Eventually and Consistently are now configurable.

    ๐Ÿ†• New Matchers:

    • ConsistOf: order-independent assertion against the elements of an array/slice or keys of a map.
    • BeTemporally: like BeNumerically but for time.Time
    • HaveKeyWithValue: asserts a map has a given key with the given value.

    โšก๏ธ Updated Matchers:

    • โœ… Receive matcher can take a matcher as an argument and passes only if the channel under test receives an objet that satisfies the passed-in matcher.
    • Matchers that implement MatchMayChangeInTheFuture(actual interface{}) bool can inform Eventually and/or Consistently when a match has no chance of changing status in the future. For example, Receive returns false when a channel is closed.


    • Start using semantic versioning
    • Start maintaining changelog

    ๐Ÿ”จ Major refactor:

    • Pull out Gomega's internal to internal