テスト関数の返却型を[[Result]]にすれば、[[Question mark operator]]が使える。
```rust
pub fn throw_dice(num: i32) -> Result<(), String> {
match num {
n if (1..=6).contains(&n) => Ok(()),
n => Err(format!("Invalid number: {}", n)),
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_test() -> Result<(), String> {
throw_dice(1)?;
throw_dice(10)?;
Ok(())
}
}
```
[[Question mark operator]]以外で意図的にテストを失敗させたいときは、普通に[[Err]]を返してやればよい。