Skip to content

quark-zju/cargo-fixeq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cargo-fixeq

build

Fix assert_eq! test errors by editing the source code to match the test output.

Inspired by Mercurial's run-tests.py -i.

Installation

cargo install cargo-fixeq

Example

Write tests using assert_eq! as usual. Put the code to evaluate on the left, leave a dummy value on the right:

fn f(n: usize) -> usize {
    if n <= 2 { 1 } else { f(n - 1) + f(n - 2) }
}

#[test]
fn test_f() {
    assert_eq!(f(10), 0);
    assert_eq!(f(20), 0);
}

Run cargo fixeq from the project root:

cargo fixeq

The dummy values are fixed automatically:

 fn test_f() {
-    assert_eq!(f(10), 0);
-    assert_eq!(f(20), 0);
+    assert_eq!(f(10), 55);
+    assert_eq!(f(20), 6765);
 }

In general, cargo-fixeq can be helpful for writing initial tests and updating tests. See here for a more complicated real world example.

Command-line Parameters

All parameters are passed to cargo test. cargo-fixeq does not define its own parameters.

Versions

Similar Projects

About

Fix `assert_eq!` test errors automatically.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages