diff options
| author | lyn <819880950@qq.com> | 2019-03-20 21:05:45 +0100 |
|---|---|---|
| committer | lyn <819880950@qq.com> | 2019-03-20 21:05:45 +0100 |
| commit | f43cb124f6163216218fe397d78b00e2d3bda84c (patch) | |
| tree | 06a6c5c4c7af2839c9f15ac5e1ddfde4e28e817b /tests/integration_tests.rs | |
| parent | 11875aed6e6940231b711470c9a8d731a7ba6aa1 (diff) | |
add tests
Diffstat (limited to 'tests/integration_tests.rs')
| -rw-r--r-- | tests/integration_tests.rs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs new file mode 100644 index 0000000..bd5d92e --- /dev/null +++ b/tests/integration_tests.rs @@ -0,0 +1,61 @@ +use std::process::Command; +use assert_cmd::prelude::*; + +#[test] +fn runs_without_arguments() { + let mut cmd = Command::cargo_bin("rustlings").unwrap(); + cmd.assert().success(); +} + +#[test] +fn fails_when_in_wrong_dir() { + Command::cargo_bin("rustlings").unwrap() + .current_dir("tests/") + .assert() + .failure(); +} + +#[test] +fn verify_all_success() { + Command::cargo_bin("rustlings").unwrap() + .arg("v") + .current_dir("tests/fixture/") + .assert() + .success(); +} + +#[test] +fn run_single_compile_success() { + Command::cargo_bin("rustlings").unwrap() + .args(&["r", "compSuccess.rs"]) + .current_dir("tests/fixture/") + .assert() + .success(); +} + +#[test] +fn run_single_test_success() { + Command::cargo_bin("rustlings").unwrap() + .args(&["r", "testSuccess.rs"]) + .current_dir("tests/fixture/") + .assert() + .success(); +} + +#[test] +fn run_single_test_no_filename() { + Command::cargo_bin("rustlings").unwrap() + .arg("r") + .current_dir("tests/fixture/") + .assert() + .failure(); +} + +#[test] +fn run_single_test_no_exercise() { + Command::cargo_bin("rustlings").unwrap() + .args(&["r", "compNoExercise.rs"]) + .current_dir("tests/fixture/") + .assert() + .failure(); +} |
