142 Commits

Author SHA1 Message Date
RmbRT
083ff1c044 Fixed didPanic to now detect panic(nil).
Previously, the function would not detect panic(nil) calls.
In didPanic, removed the anonymous function call, instead,
added named return values. Added extra test cases for the
panic(nil) call.
2022-03-16 07:08:43 +10:00
Menno
ab6dc32628 fix linting errors in /assert package 2021-08-24 21:55:23 +10:00
Menno
edff5a049b fix funtion name 2021-08-24 21:55:23 +10:00
Menno
5c61ef97ae fix potential nil-pointer dereference
the fix gracefully fails the assertion instead of panicking unresolved.
2021-08-24 21:55:23 +10:00
Menno
fd9e1fb0e1 Fix NaN similarity checks
Plus minor alignments in code.
2021-07-09 20:35:46 +10:00
Harald Nordgren
dc5c261377 Make sure time.Time comparison produces a helpful diff. closes #989 2021-04-27 21:16:43 +10:00
Alun Evans
6990a05d54 Add ErrorContains 2021-01-16 12:32:05 +11:00
Boyan
ed4976c764 Revert "Fix PR comments"
This reverts commit 1ebd9c5791a7b34abb2f0bece9dcdec96b9f5584.
2020-07-27 22:28:46 +10:00
arseny
1ebd9c5791 Fix PR comments 2020-07-27 21:16:21 +10:00
Pal Sivertsen
95a9d909e9 Add wrapper functions for errors Is and As funcs
This commit adds wrapper functions for Is and As functions from the
errors package.
2020-07-20 20:40:44 +10:00
Ivo van der Wijk
b8f7d52a4a Rewrite test loops into individual test cases 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
8a501b0fac make testcase definition local 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
4bbffeac6c table-ify TestElementsMatch 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
52b38ca424 table-ify, refactor (Not)Subset() 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
0929293466 refactor, table-ify TestContains / TestNotContains 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
67a4d91853 table-ify ObjectsAreEqual() 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
5717c498e9 table-ify Equal() 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
408bc6703a keep type definition local to function where used 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
590942c47f table-ify Exactly 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
9ffb85bbec clarify sets of tests 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
51b7cfe385 rewrite NotEqual() tests to table tests 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
07d1e00890 first attempt at table-ifying NotEqualValues tests 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
f50e178a9f first attempt at table-ifying NotEqualValues tests 2020-06-13 21:33:52 +10:00
Ivo van der Wijk
ac1463f956 Implement NotEqualValues 2020-05-27 08:39:56 +10:00
Bryan Boreham
f7ef284eb4 Add a benchmark to time trivial call of NotNil 2020-05-04 21:01:24 +10:00
David Wragg
ca8e08c131 Support uint in InDelta and InEpsilon
InDelta and InEpsilon assertions on uint values would fail with
the error "Parameters must be numerical".
2020-04-29 21:29:26 +10:00
hectorj
012967472b Make InEpsilon fail when given a NaN
fixes #918
2020-04-02 22:34:25 +11:00
Martin Sucha
f6cbfc0d03 Print more details in ElementsMatch
It is not very helpful to print that the lengths differ when an
assertion fails, since that does not reveal what the cause of the issue
might be.

Let's print which elements are extra in each list, that should convey
the relevant information to the user. Also use spew to format the
objects, similar to what Equal does, to make the output more readable.
2020-03-14 21:17:20 +11:00
Henry Blyth
cb23521296 Test verbose Contains Fail message
If asserting an error contained in a string, includeElement will fail
but Contains will confusingly print both values as strings, which can
look like a testify problem instead of an assertion failure.
2020-03-10 08:59:40 +11:00
Christian Muehlhaeuser
1c7f4ef084 Avoid unnecessary conversions
No need to convert values here.
2020-03-06 14:40:56 +11:00
Christian Muehlhaeuser
08b5acc756 Fixed tautological errors
err can't ever be not nil here, unless the Go language specs are changing.
2020-03-06 14:38:03 +11:00
Christian Muehlhaeuser
fbbf8a0782 Removed unused variables
Probably just became obsolete by now.
2020-03-06 14:31:21 +11:00
Christian Muehlhaeuser
c5d499e514 Simplify go code
Just reads a bit nicer, in my opinion.
2020-03-06 14:30:34 +11:00
Hiram Chirino
310548cda6 fix: error diff was not being show for large values
If you were comparing values which when formatted were longer than about 64k then the actual, expected and diff messages were not printed to the console.
2020-03-04 06:47:27 +11:00
Luan Santos
afd4130c14 Disable using Stringer/error interfaces for diffing
`spew`'s default formatter will call `String()` or `Error()` in structs
that implement the `fmt.Stringer` or `error` interfaces. Depending on
the implementation of those, the diff can become quite useless to read
(see the example struct I used for the test case in this commit).

This changes `spew`'s configuration to `DisableMethods` so that it will
always use it's own pretty printer. This makes testing structs less
surprising and generally more useful, without tying the tests to the
implementation of `String()` (the user here can always chose to
`require.Equal(a.String(), b.String())` if testing those is important to
them.
2020-02-26 08:50:07 -07:00
Torkel Rogstad
17a1e1d4bf Add Never assertion
Never asserts that a conditon isn't met within a given timeframe.
2020-01-29 09:11:59 +11:00
Dinesh Kumar
8c465a0c8e changing time.Duration equality mismatch output from int64 to readable format. Fixes #626
(cherry picked from commit 637cd144ddae7a3792bcb5c74a3bf3a071c0a250)
2020-01-16 14:34:20 +11:00
Boyan Soubachov
858f37ff9b Allow nil-function Equal comparisons 2019-12-23 07:34:01 -07:00
Boyan Soubachov
28b40b159e Improve tests 2019-12-12 12:41:57 -07:00
Boyan Soubachov
4b71b28738 WIP 2019-12-12 12:41:57 -07:00
Boyan Soubachov
7b3a490010 Rename 2019-12-12 12:41:57 -07:00
Boyan Soubachov
937e12391f Added negative dir and file tests
* Added NotFileExists test
* Added NotDirExists test
* Cleaned-up some comment formatting
2019-12-12 12:41:57 -07:00
Leigh McCulloch
367102ea5a Add PanicsWithError
# What
Add `PanicsWithError` that behaves like `PanicsWithValue` but requires
the value to be an `error` and compares an error string against the
error in the same fashion as `EqualError`.

# Why
`PanicsWithValue` is very useful with the value that will panic is a
basic type that can be easily defined in a test, but is less useful for
validating an error because error values may not be easily recreated in
a test to exactly match the error that will be generated in the moment.
This can be because an error will contain fields that aren't exported
and the test may not be able to define the exact error. Most of the time
testing error objects just testing the string is sufficient. This
concept is already supported by this module in the existing `EqualError`
function.
2019-12-10 08:32:02 -07:00
Jacek Szwec
f1bd0923b8 Fix panic for Eventually functions
Fixes #805, Fixes #835
2019-11-06 15:43:47 -07:00
Boyan
a88bf7aab8 PR comments 2019-11-04 07:28:29 -07:00
Boyan
cabedb3967 Refactor 2019-11-04 07:28:29 -07:00
Boyan
4d8751d477 Unit test typo fix 2019-11-04 07:28:29 -07:00
Boyan
7088056203 Add NotSame
* Added NotSame test for the assert package
* Added NotSame test for the require package
* Included formatted variants of NotSame for both assert and require
2019-11-04 07:28:29 -07:00
Daniel Cormier
85f2b59c44 Add panic stack to output from NotPanics assertion failures 2019-09-04 10:35:30 -06:00
Nobuhiro MIKI
0224ef258e Add YAMLEq to assert that two YAML strings are equivalent 2019-07-11 17:50:32 -06:00