Comments (6)
Maybe we can try to implement it after proptest-rs/proptest#153 is landed. In this case I can see a [proptest]
attribute and desugar my test by take care of proptest syntax.
It will be something like:
pub fn fixture() -> u32 { 42 }
#[rstest]
#[proptest]
fn doesnt_crash(#[proptest::strategy="\\PC*".into()] s: &str, fixture: u32) {
parse_date(&s);
}
or something like this
from rstest.
Hey -- made it here from the proptest issue. We have an issue over there for adding a way to add explicit cases to proptest:
I had originally suggested using rstest for this but there were some counter arguments. I'm planning on adding some very basic casing functionality in to the attr proc macro once the impl lands. I think it should still be composable like you're mentioning here since you could just transform the cases in to rstest syntax but I'll make sure to get your input once the PR is up
from rstest.
I'll take a look to it. I'm in the middle of the rush (if we can call rush in a pet project) for the next release but I promise that I'll see what that's mean.
from rstest.
Just to understand. What do you mean is to use rstest
in combination withproptest
?
If you mean to userstest
or rstest_parametrize
inside a prpptest
macro I don't think it's a simple task because the proptest
macro will be processed before and cannot understand rstest
syntax. Otherwise, if the question is use both crates in the same test module I don't see any limitation
Can you give me an use case example to work with?
from rstest.
For instance, I'd like to use something like
proptest! {
pub fn fixture() -> u32 { 42 }
#[rstest]
fn doesnt_crash(s in "\\PC*", fixture: u32) {
parse_date(&s);
}
}
That'd be pretty neat. I'm already using them beside eachother.
from rstest.
Great!
I'll take a look to it when PR land. I just see some trouble to combine the async
proposed syntax to the rstest
one.... but it's just a detail.
from rstest.
Related Issues (20)
- Generate tests from json files HOT 2
- [question] Test with different specializations of a generic type? HOT 4
- '#[once]' cleanup after tests executed HOT 1
- `#[ignore]` at the top only applies to the first case HOT 3
- Consider supporting `wasm-bindgen-test` for async test HOT 3
- Allow customizing the "length" of the test case names from the path HOT 1
- Separating test input data & expected values? HOT 1
- Unable to silence lints HOT 1
- New #[files] feature does not recompile on file change HOT 5
- Consider allowing to rename the crate by passing an attribute `crate = ...` to the proc-macro HOT 9
- vscode/rust-analyzer "debug overlay action" not working anymore HOT 2
- Question: tests failed by memory allocation of x bytes failure` when only running many cases once HOT 2
- Allow `clippy::too_many_arguments` HOT 6
- Please clearly state the MSRV in the README and documentation and use the "rust-version" flag. HOT 2
- Add capability to ignore arguments HOT 3
- [vscode] text wrapping for run/debug test buttons
- Misleading error messaging when defining a test that includes a lifetime argument HOT 1
- Support argument destructuring for `#[values(...)]` HOT 1
- Injecting static types HOT 5
- Create a fixture from `files` attribute HOT 3
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.