// filename: tests/integration.rs mod integration { use regex::Regex; use std::process::Command; use std::process::Output; static WITHOUT_ARGS_OUTPUT: &'static str = " USAGE: carman [FLAGS] [OPTIONS] For more information try --help "; #[test] fn calling_carman_without_args_returns_result() { let output = Command::new("./target/debug/carman") .output() .expect("failed to execute process"); let re = Regex::new(r"^Hello").unwrap(); assert!(re.is_match(&String::from_utf8_lossy(&output.stdout))); } #[test] fn calling_carman_with_help_returns_usage() { let output = Command::new("./target/debug/carman") .arg("--help") .output() .expect("failed to execute process"); let re = Regex::new(r"^carman").unwrap(); assert!(re.is_match(&String::from_utf8_lossy(&output.stdout))); let re = Regex::new(r"--help").unwrap(); assert!(re.is_match(&String::from_utf8_lossy(&output.stdout))); } }