続きまして、 Unit testについてです。
まずはコードから
前提として、unitテストコードが書いてあるファイルをmain
ファイル取り込んである状態です。
mod tests {
use super::*; // 階層が違いますので、*で全て取得します。
#[test] // Unitテストの時に書くおまじないです。
fn test_a_is_larger() {
let a = Rectangle {
width: 5,
height: 5,
};
let b = Rectangle {
width: 3,
height: 3,
};
assert!(a.compare_area(&b)); // assert!はtureと評価されているかどうか知りたいときにしようします。
}
#[test]
fn test_a_is_smaller() {
let a = Rectangle {
width: 3,
height: 3,
};
let b = Rectangle {
width: 5,
height: 5,
};
assert!(!(a.compare_area(&b)));
}
#[test]
fn test_double() {
assert_eq!(6, double_value(3)); // assert_eq!は等しいかどうか確かめる
}
#[test]
fn test_contains_name() {
let res = greeting("rust");
assert!(res.contains("rust"));
}
}