Releases: ngarbezza/testy
v8.0.0
(crafted release notes TBD)
What's Changed
- [Feature ✨] Skipping tests by @beluamat29 in #299
- Major lint update by @ngarbezza in #300
- [Feature ✨] Skipping suites by @beluamat29 in #306
- [Feature ✨] Mark test as exclusive for run by @beluamat29 in #309
- [Feature ✨] Executed file path in output by @beluamat29 in #317
- [Feature ✨] Configuration params through console by @beluamat29 in #320
- 🐛 fix: Wrong amount of arguments for invalid usage of numerical assertions by @beluamat29 in #326
- [Feature ✨] Improving expect success and expect failure feedback by @beluamat29 in #339
- 🐛 fix: Console configuration parameters not informing errors in the proper way by @beluamat29 in #333
- [Feature ✨] Adding directory flag by @beluamat29 in #343
- [Feature ✨] Adding extension filter flag by @beluamat29 in #344
Full Changelog: v7.1.0...v8.0.0
v7.1.0
Some achievements to celebrate this release: 100 closed issues and 14 contributors (1 new!)
Added
- [feature] Add numeric assertions for numerical comparisons: now we
have more semantic assertions to compare numbers, check out the readme/jsdoc for more info. Thank you,
@beluamat29, for your first contribution! 🎉
Fixed
- [bug] passing tests even if the objects under comparison are not equal:
this was a regression from a refactoring to add private methods in v7, it's not user-facing error.
v7.0.2
Fixed
- [bug] async test results mixup. Thank you, @mellster2012, for your first contribution! 🎉
v7.0.1
Fixed
- [bug] timer is gone: We restored the timer at the end of the test report.
v7.0.0
📆 first release in 1.5 years
👤 1 new contributor
💥 breaking changes (Node version + ES modules)
Breaking changes
-
💥 We migrated from CommonJS to ES Modules. This was a heavy change, and it will affect all the users, but we think it is the right step to go to support modern Node versions. Unfortunately, due to complexity generating the package, CommonJS will not be supported.ADR
#0013was added with more info about this decision. -
💥 Node 18.x or higher is required. Support for Node 12.x, 14.x and 16.x has dropped. Support for Node 20.x is added. Commit
Added
-
[docs] API docs using JSDoc: all public methods and some internal ones are now documented, most of them with simple and easy-to-understand examples. This conforms a documentation more extensive than the README.
-
[feature] report source code location on failed/errored tests: if your test fails or raises an unexpected error, you'll now see a reference with the failed assertion so it's easier to debug tests with multiple assertions. The line is displayed next to the test name and failure message.
-
[feature] configurable per test timeout: we have a new configuration value,
timeoutMsand it makes tests to end with error state if they are not executed within that timeout. -
[feature] Improve feedback for wrong usage of raises(): if any of the exception assertions is called with an actual object that is not a function, it will return a translated message with better feedback explaining it is invalid. The test is considered error instead of failure.
Fixed
-
[bug] exit code 0 and no tests run when a promise is not settled: bug that motivated the addition of the timeout feature. Now if you have tests that for some reason do not resolve or reject their promises, the tool will give you feedback about that.
-
[bug] failFast configuration parameter should fail if an invalid value is provided, thank you @ignacio-r for your first contribution! 🎉
v6.1.0
First 2022 release!
Added
- [feature] support for asynchronous tests, thank you
@JavierGelatti for the initial implementation!
Now we can useasync/awaitin test definitions.
Fixed
-
[bug] multiple before() or after() empty blocks can be added to a test suite
-
[bug] swallowed/not precise exception when before() or after() fails
Other changes
- Updates to the dev tools: eslint, github actions, code climate
- Added 10Pines as sponsor: thanks for the support!
v6.0.0
6.0.0 - 2021-11-21
👤👤 2 new contributors, drop support for Node < 12 and new features and bug fixes!
Breaking changes
- 💥 Node 12.x or higher is required. Support for Node 8.x and 10.x has dropped.
There is now an architectural decision record to specify how support will work
going forward. #214
Added
- [feature] isIdenticalTo() / isNotIdenticalTo() assertions, thank you @franciscojaimesfreyre, for your first contribution!
- [feature] better error reporting when loading test suite files
- [docs] italian translations, thank you @giovannipessiva for your first contribution!
Fixed
v5.1.0
Release date: 2021-01-14
This release includes a lot of contributions (4 new contributors!), and several refactorings to continue improving the quality of the tool.
Added
- [feature] added after() hook to run code after each test, thank you @adico1!
- [feature] isIncludedIn() and isNotIncludedIn() assertions, thank you @ask-imran for your first contribution!
- [feature] warning message when no tests found, thank you @niyonx for your first contribution!
- [feature] show error when a requested file does not exist, thank you @chelsieng for your first contribution!
- [feature] global error handler
Fixed
- [bug] suite and test names cannot be empty, thank you @ask-imran!
- [bug] includes() and doesNotInclude() matchers only work on Arrays, thank you @trochepablo for your first contribution!
- [bug] color for pending summary was not painted
- [bug] it was possible to mark tests as pending without specifying reason
Refactored
- rename "master" branch to "main"; also, an ADR was added to track the decision that we want a better vocabulary
- parametrizable i18n messages
- write more tests for the i18n module
- throw error objects instead of strings
- speed up tests by not creating error messages on successful assertions
- added some npm scripts for test coverage and dependencies graph
- changes in modularization: extract assertion and test result reporter
- add more tests and increased the current coverage (example 1, example 2)
- formatter object decoupled from console ui (ADR 0004 added here)
- avoid test doubles at all (ADR 0005 added here), removed test runner double
... and more minor cleanups.
v5.0.2
[5.0.2] - 2020-10-13
A hacktoberfest release! 5 bugs fixed and two new contributors! 💪
It also includes an improvement in the contribution guidelines, and records of architectural decisions (ADRs).
Fixed
- [bug] isEmpty / isNotEmpty failing when passing an undefined value: thank you, @abraaoduarte for your first contribution!
- [bug] validate argument types of test(): thank you, @adico1 for your first contribution!
- [bug] raises() does not pass when throwing a non-primitive object
- [bug] toString() is not honored when printing objects
- [bug] cannot run testy binary using npx
v5.0.1
Fixed
- [bug] includesExactly uses === as comparison: Now the same criteria as
isEqualTois used inincludes,doesNotIncludeandincludesExactly.