Skip to content

Commit 35d7f6f

Browse files
author
okamoto
committed
テストの勉強
1 parent 9466f75 commit 35d7f6f

File tree

7 files changed

+88
-0
lines changed

7 files changed

+88
-0
lines changed

part1/doc-test/Cargo.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "doc-test"
3+
version = "0.1.0"
4+
edition = "2018"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

part1/doc-test/src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/// This function adds 2 numbers.
2+
/// # Example
3+
///
4+
/// ```
5+
///
6+
/// add(1, 2);
7+
/// ```
8+
pub fn add(x:i32, y:i32) -> i32 {
9+
return x + y;
10+
}

part1/testing/Cargo.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "testing"
3+
version = "0.1.0"
4+
edition = "2018"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

part1/testing/src/lib.rs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
pub fn add(x:i32, y:i32) -> i32 {
2+
return x + y;
3+
}
4+
5+
6+
#[test]
7+
fn test_add() {
8+
assert_eq!(0, add(0, 0));
9+
assert_eq!(1, add(0, 1));
10+
assert_eq!(1, add(1, 0));
11+
assert_eq!(2, add(1, 1));
12+
}
13+
14+
#[test]
15+
fn assert_ample() {
16+
// 第一引数がfalseの場合にpanic!
17+
assert!(true);
18+
assert!(false, "panic! value={}", false);
19+
20+
// 2つの値が異なる場合にpanic!
21+
assert_eq!(true, true);
22+
// 2つの値が同じ場合にpanic!
23+
assert_ne!(true, false);
24+
25+
assert_eq!(true, false, "panic! value({}, {})", true, false);
26+
}
27+
28+
//panic!が発生することを想定するテスト
29+
#[test]
30+
#[should_panic]
31+
fn test_panic() {
32+
panic!("expected panic");
33+
}
34+
35+
// 通常のcargo testでは実行されない、
36+
// cargo test -- --ignoredで実行される
37+
#[test]
38+
#[ignore]
39+
fn test_add_ignored() {
40+
assert_eq!(-2, add(-1, -1));
41+
}

part1/testing/src/main.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
3+
fn main() {
4+
println!("Hello, world!");
5+
}

part1/tests/Cargo.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "tests"
3+
version = "0.1.0"
4+
edition = "2018"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

part1/tests/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#[cfg(test)]
2+
mod tests {
3+
use super::*;
4+
#[test]
5+
fn it_works() {
6+
assert_eq!(2 + 2, 4);
7+
}
8+
}

0 commit comments

Comments
 (0)