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)
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.1.0.
Release notes
Sourced from test-case's releases.
... (truncated)
Changelog
Sourced from test-case's changelog.
Commits
fba9d65
Publish v2.1.08e7ff35
Move crate description to src/lib.rse81a9ad
Allow keywords in void fn (#100)c5695a1
Addmatch_regex
to complex test-cases (#98)8057e5b
Add 'len', 'count' and 'empty' complex assertions (#97)8d3001d
Refactoring: move test-case macro to separate subcrate (#96)2853497
Release version to 2.0.2ff59e5e
Add extra tests to ; fix not working cases; cleanup scripts75bd091
Fixmatches Pattern if condition
test case6301fbd
Improve readme & changelog. Publish version 2.0.0.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)