assert.Equal and similar output should be explicit about type inequality
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start at the assert.Equal entry point and trace the comparison and failure-reporting path for values with different types. Done means assert.Equal and similar assertions report type inequality explicitly, with regression coverage for the Foos-versus-[]Foo example.
Written by the indexing model from the issue text.
Description
In assert.Equal(t, a, b) if a and b do not have the same type, the test will fail, but the output will be the same as a value equality test failure.
It is confusing, because on complex equality assertion, ones might not realize the problem is different type, not unequal values.
Consider this example:
type struct Foo { V int }
type Foos []Foo
assert.Equal(t, Foos{{1}, {2}}, Foos{{1}, {2})
compared to:
assert.Equal(t, Foos{{1}, {2}}, []Foo{{1}, {2})
The second case will fail with a "not equal" message.
Instead, assert.Equal and similar should output an explicit message about type inequality.
cc @abhinav @prashantv @breerly
- Dominant language
- Go
- Stars
- 26.2k
- Forks
- 1.9k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stretchr/testify
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
internal/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
All issues in stretchr/testify
Similar issues
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
blinklabs-io/bursa#904 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
yanet-platform/ipfw-go#129 ·
-
bug confmap/provider/googlesecretmanagerprovider needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-telemetry/opentelemetry-collector-contrib#51273 · 2 comments ·
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100