Comments (7)
@TomPridham Same example in rstest:
#[rstest]
#[case::when_both_operands_are_negative(-2, -4]
#[case::when_both_operands_are_positive(2, 4)]
#[case::when_operands_are_swapped(4, 2)]
fn multiplication_tests(x: i8, y: i8) {
let actual = (x * y).abs();
assert_eq!(8, actual)
}
Output should be something like
test multiplication_tests::case_1_when_both_operands_are_negative ... ok
test multiplication_tests::case_2_when_both_operands_are_positive ... ok
test multiplication_tests::case_3_when_operands_are_swapped ... ok
You can find the motivation of why I choose to leave the case_<nr>
also when description is present in #167
from rstest.
Released
from rstest.
Ok,
the issue here is that the values are just expressions at compile time: We cannot know what value we can have at runtime.
What we can do is simply add a sanitized string from the expression by just take valid characters and discard the others. Maybe some chars can be replaced by _
(i.e. :
) instead just discarding.
from rstest.
Ok, the issue here is that the values are just expressions at compile time: We cannot know what value we can have at runtime.
What we can do is simply add a sanitized string from the expression by just take valid characters and discard the others. Maybe some chars can be replaced by
_
(i.e.:
) instead just discarding.
Thanks for checking this! and this sounds good
from rstest.
I'll limit the rendered part to 64 chars.... It should be enough.
from rstest.
it would also be nice to be able to specify a string name for parameterized tests as well, similar to: https://docs.rs/test-case/latest/test_case/#example-usage
from rstest.
You can already do it for cases... not for values.
https://docs.rs/rstest/latest/rstest/attr.rstest.html#optional-case-description
For values doesn't have too much sense IMHO
from rstest.
Related Issues (20)
- Injecting static types HOT 5
- Create a fixture from `files` attribute HOT 3
- skip cases based on feature flag? HOT 5
- `#[once]` fixtures are unsound for types that are not `Sync` HOT 4
- clippy::duplicated_attributes warning with rust 1.79.0-nightly HOT 3
- By-reference fixtures HOT 12
- Update `rstest_reuse` docs and release new version
- `#[from(source)]` should accept path also and not just idents
- rstest_reuse: "the `async` keyword is missing from the function declaration" HOT 1
- replace return <expr>; with <expr> [needless_return] HOT 3
- Support dynamic `#[values]` HOT 1
- Feature: Optional label in the `#[case...]` HOT 1
- Dynamically set #[values(..)] HOT 1
- New test files are only recognized after `cargo clean` HOT 4
- feat: provide a cargo feature to disable the proc macro inference in #221 HOT 2
- consider adding a `wasm-bindgen` feature HOT 1
- Recommendation on choosing between different sets of `#[values(...)]`?
- Mixing `#[rstest]` and `#[serial]` breaks VS Code's IntelliSense with rust-analyzer HOT 3
- Possibility of resolving a fixture only once per test?
- Automatically test all variants of an enum HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rstest.