document of shared modules for integration tests

This commit is contained in:
Jakob Demler 2016-06-03 12:16:07 +02:00
parent d71f9f614c
commit c26703b77b

View File

@ -395,8 +395,8 @@ fn it_works() {
``` ```
This looks similar to our previous tests, but slightly different. We now have This looks similar to our previous tests, but slightly different. We now have
an `extern crate adder` at the top. This is because the tests in the `tests` an `extern crate adder` at the top. This is because each test in the `tests`
directory are an entirely separate crate, and so we need to import our library. directory is an entirely separate crate, and so we need to import our library.
This is also why `tests` is a suitable place to write integration-style tests: This is also why `tests` is a suitable place to write integration-style tests:
they use the library like any other consumer of it would. they use the library like any other consumer of it would.
@ -429,6 +429,11 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured
Now we have three sections: our previous test is also run, as well as our new Now we have three sections: our previous test is also run, as well as our new
one. one.
Cargo will ignore files in subdirectories of the `tests/` directory.
Therefore shared modules in integrations tests are possible.
For example `tests/common/mod.rs` is not seperatly compiled by cargo but can
be imported in every test with `mod common;`
That's all there is to the `tests` directory. The `tests` module isn't needed That's all there is to the `tests` directory. The `tests` module isn't needed
here, since the whole thing is focused on tests. here, since the whole thing is focused on tests.