Created
February 23, 2017 15:27
-
-
Save sdboyer/eb47572f4913200af6afe8aea8f8253c to your computer and use it in GitHub Desktop.
clunky, string typing, and subtle dependencies
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func TestFoo(t *testing.T) { | |
higherLevelCheck(t, someArgs{something}) | |
higherLevelCheck(t, someArgs{somethingElse}) | |
} | |
func higherLevelCheck(t *testing.T, someArgs Args) { | |
r, err := doSomething(someArgs) | |
t.HelperAt("first err nil check") | |
assert(t, err, nil) | |
t.HelperAt("first value match check") | |
assert(t, r.Something, expectedValue) | |
z, err = somethingElse(someArgs) | |
t.HelperAt("second err nil check") | |
assert(t, err, nil) | |
if foo(z) { | |
t.Fatalf("higher level check failed") | |
} | |
} | |
func assert(t *testing.T, got, want interface{}) { | |
t.Helper() | |
if !reflect.DeepEqual(want, got) { | |
t.Fatalf("got = %v, want = %v", got, want) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment