#csv #accounting #statement #consume #set #produce #list

app csv_ledger

消费包含交易列表的CSV文件,并生成一组银行账户报表

3个版本

0.1.2 2022年9月3日
0.1.1 2022年9月3日
0.1.0 2022年8月31日

#2226数据库接口

每月下载量 27次

MIT 许可证

68KB
944

csv_ledger

一个旨在学习零拷贝解析并提高我的Rust性能分析覆盖工具知识的项目。


🛠 安装

cargo install csv_ledger

🔋 使用

打印输出到控制台

csv_ledger foo.csv

保存输出到文件

csv_ledger --output output.csv foo.csv

查看有用的信息

csv_ledger --help

📚 文档

更多文档可以在这里找到。

🔬 测试

运行CLI测试

cargo test --features test_args

运行库测试

cd lib && cargo test

📝 代码覆盖

该项目旨在实现接近100%的代码覆盖率。虽然Rust提供了第一级的错误检查,但它无法轻易防止逻辑错误。通过强大的测试覆盖与Rust的错误检查相结合,你可以有很大的信心。然而,我发现使用llvm-cov达到100%的覆盖率可能非常困难。LLVM的覆盖率工具比过去我使用过的其他覆盖率工具(如Jest)更精确,要求所有行、分支、派生特性和实现都要被覆盖。

预生成的覆盖率报告可以在:/coverage/html找到。

本地运行覆盖率

设置

rustup component add llvm-tools-preview &&
cargo install cargo-llvm-cov

使用

创建覆盖率报告

cargo llvm-cov --features test_args

调试覆盖率报告

cargo llvm-cov --features test_args --html --output-dir coverage

依赖项

~4MB
~81K SLoC