https://github.com/greyblake/cargo-testify
Watches changes in a rust project, runs test and shows friendly notification
https://github.com/greyblake/cargo-testify
cargo desktop devtools notification rust test
Last synced: 9 months ago
JSON representation
Watches changes in a rust project, runs test and shows friendly notification
- Host: GitHub
- URL: https://github.com/greyblake/cargo-testify
- Owner: greyblake
- License: mit
- Created: 2017-08-27T22:12:45.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-09-19T17:16:49.000Z (almost 8 years ago)
- Last Synced: 2025-01-11T19:11:28.450Z (over 1 year ago)
- Topics: cargo, desktop, devtools, notification, rust, test
- Language: Rust
- Homepage:
- Size: 226 KB
- Stars: 81
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Cargo testify
[](https://travis-ci.org/greyblake/cargo-testify)
[](https://raw.githubusercontent.com/greyblake/cargo-testify/master/LICENSE)
Automatically runs tests on your Rust project and notifies about the result.

## Install
Install prerequisites (for Debian/Ubuntu):
```
apt-get install -y libdbus-1-dev
```
Install the crate:
```
cargo install cargo-testify
```
## Usage
Run within your Rust project:
```
cargo testify
```
## How does it work?
It watches changes in the project directory, and reacts by running `cargo test`.
The output result is parsed to identify one of the possible outcomes:
* Tests passed
* Tests failed
* Compilation failed
To display notification in the Desktop environment `notify-send` (Linux) or `osascript` (MacOS) commands are used.
## Watched files
* `src/**/*.rs`
* `tests/**/*.rs`
* `Cargo.toml`
* `Cargo.lock`
* `build.rs`
## Bypassing options to `cargo test`
Run `cargo test --lib` on file change:
```
cargo testify -- --lib
```
## License
[MIT](https://github.com/greyblake/cargo-testify/blob/master/LICENSE) © [Sergey Potapov](http://greyblake.com/)
## Contributors
- [greyblake](https://github.com/greyblake) Potapov Sergey - creator, maintainer.
- [hoodie](https://github.com/hoodie) Hendrik Sollich - thanks for notify-rust crate
- [waywardmonkeys](https://github.com/waywardmonkeys) Bruce Mitchener - fix typos
- [Hugal31](https://github.com/Hugal31) - support of `--include` option
- [barskern](https://github.com/barskern) Ole Martin Ruud - migrate from clap to structopt