diff --git a/assert/assertions_test.go b/assert/assertions_test.go index 162c71801..44646e4d0 100644 --- a/assert/assertions_test.go +++ b/assert/assertions_test.go @@ -2794,14 +2794,19 @@ func TestNeverFalse(t *testing.T) { True(t, Never(t, condition, 100*time.Millisecond, 20*time.Millisecond)) } +// TestNeverTrue checks Never with a condition that returns true on second call. func TestNeverTrue(t *testing.T) { mockT := new(testing.T) - state := 0 + + // A synchronized counter using a channel + counter := make(chan int, 2) + counter <- 1 + counter <- 2 + defer close(counter) + + // Will return true on second call. condition := func() bool { - defer func() { - state = state + 1 - }() - return state == 2 + return 2 == <-counter } False(t, Never(mockT, condition, 100*time.Millisecond, 20*time.Millisecond))