# temp_test - temporary test utils for rust 🔨 [![Build Status](https://github.com/Quadriphobs1/temp_test/workflows/ci/badge.svg?branch=master&event=push)](https://github.com/Quadriphobs1/temp_test/actions) A simple temporary file library for Rust. This library can create a temporary environment to test your rust cli library, run test against several commands and args even provide different environments. It uses [tempfile](https://github.com/Stebalien/tempfile) to securely handle all temporary files. ## Usage Minimum required Rust version: 1.32.0 Add this to your `Cargo.toml`: ```toml [dev-dependencies] temp_test = "0.1.0" ``` ## Example ```rust use clap::{Arg, App}; fn main() { let matches = App::new("My Super Program") .arg(Arg::with_name("config") .arg(Arg::with_name("v") .short('v') .multiple(true) .about("Sets the level of verbosity")) .subcommand(App::new("test") .about("controls testing features") .arg(Arg::with_name("debug") .short('d') .about("print debug information verbosely"))) .get_matches(); // do some action with the matches.. } #[test] fn test_example() { let p = temp_test::build_project("test_example").build(); assert!(p.has_file("Cargo.toml"), "Cargo.toml file does not exist"); let result = p.command("test").run(); assert!(result.is_success(), "Result was unsuccessful {:?}", result); } ``` ## License Licensed under either of - Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) - MIT license (LICENSE or http://opensource.org/licenses/MIT) ## Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.