This crate provides the #[test_case] procedural macro attribute that generates multiple parametrized tests using one body with different input parameters.
A test is generated for each data set passed in the test_case attribute.
Under the hood, all test cases that share the same body are grouped into a mod, giving clear and readable test results.
What's changed
New features
=> with |x: T| assert!(x) custom inline test assertions
=> using path::to::fn custom fn test assertions
ignore and inconclusive can be combined with other keywords
=> it|is ... syntax is a built-in (previously required hamcrest2 crate integration)
Simple test cases support returning Result<(), _> as #[test] attribute does #50
Improvements
Code refactoring
Test function is kept in its original scope so it can be reused for non-test related code #77
Improved test case name selection
Breaking changes
Deprecation of inconclusive within test description string - it will no longer act like modifier keyword
Removal of hamcrest2 integration (it and is are kept, complex assertions now have different syntax)
Custom inline test assertions
Now it is possible to pass the closure which will assert the test case.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps test-case from 1.2.0 to 2.0.1.
Release notes
Sourced from test-case's releases.
... (truncated)
Changelog
Sourced from test-case's changelog.
Commits
75bd091
Fixmatches Pattern if condition
test case6301fbd
Improve readme & changelog. Publish version 2.0.0.1c43651
Update README. Move most of technical documentation to our wiki.26e0fc4
Omit line with full path to hash-encoded dirc7ca456
Revert echo's in publish.sh4b139fe
Bump version to2.0.0-rc3
.c7a098c
Tweak test_case handling (#88)f4edb1d
Update README to mention rc29950c3e
Relaxed requirements on 'using' keyword in complex test cases.70bff0b
Add newlines to publish.sh 'Next steps' echoDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)