Skip to content

Instantly share code, notes, and snippets.

@freshteapot
Last active February 20, 2024 07:25
Show Gist options
  • Save freshteapot/6456967b1989ff6cebb4d2ea4e15f4ea to your computer and use it in GitHub Desktop.
Save freshteapot/6456967b1989ff6cebb4d2ea4e15f4ea to your computer and use it in GitHub Desktop.
Using ginkgo / gomega, different ways to test what was passed to an interface

VScode / Vscodium options to make go look pretty when testing packages

{
    "go.coverageDecorator": {
        "type": "highlight",
        "coveredBorderColor": "rgba(64,128,128,0.8)",
        "coveredHighlightColor": "rgba(64,128,128,0.8)",
        "uncoveredHighlightColor": "rgba(128,64,64,0.5)",
        "uncoveredGutterStyle": "verticalred"
    },
    "go.testEnvVars": {
        "GINKGO_EDITOR_INTEGRATION": true
    },
    "go.testTimeout": "30s",
    "go.delveConfig": {
        "debugAdapter": "dlv-dap",
    }
}
{
    "go.coverageDecorator": {
        "type": "gutter",
        "coveredBorderColor": "rgba(64,128,128,0.8)",
        "coveredHighlightColor": "rgba(64,128,128,0.8)",
        "uncoveredHighlightColor": "rgba(128,64,64,0.5)",
        "coveredGutterStyle": "blockgreen",
        "uncoveredGutterStyle": "blockred"
    },
}
sourceStore.On("Save", userUUID, mock.MatchedBy(func(expectPref user.UserPreference) bool {
    Expect(expectPref.Acl.PublicListWrite).To(Equal(test.PublicAccess))
    return true
})).Return(nil)

VS

sourceStore.On("Save", userUUID, mock.AnythingOfTypeArgument("user.UserPreference")).Return(nil)
expectPref := sourceStore.Calls[1].Arguments.Get(1).(user.UserPreference)
Expect(expectPref.Acl.PublicListWrite).To(Equal(test.PublicAccess))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment