8个版本
0.2.0 | 2022年1月7日 |
---|---|
0.1.7 | 2021年12月13日 |
0.1.1 | 2021年11月30日 |
#415 in 测试
360KB
1.5K SLoC
包含 (压缩文件,250KB) icon/provola-icon.kra
Provola
测试它!→Provalo!→ Provola!
provola
是当你需要快速测试代码时的最佳朋友。
输入/输出测试
只需创建一个输入文件、一个期望输出文件和一个处理输入的程序的程序,每次你更改代码时,provola
都会自动测试你的程序。
# Create a simple haskell program
echo 'main = interact reverse' > reverse.hs
# An input for your nice program
echo -n abcd > in.txt
# The expected output
echo -n dcba > out.txt
# Run provola!
provola -i in.txt -o out.txt -s reverse.hs -w .
在哪里
-i
是输入文件-o
是期望输出文件-s
是源代码-w
是要监视更改的文件或目录
支持的语言
语言 | 构建 | 运行 |
---|---|---|
Bash | / | ✓ |
C++ | gcc |
✓ |
C | gcc |
✓ |
Haskell | stack ghc |
✓ |
JavaScript | ✓ node |
|
PHP | ✓ | |
Python | ✓ | |
Rust | rustc |
✓ |
测试框架
provola
能够使用由流行的测试框架生成的测试运行器。
示例
provola -T GoogleTest -t path/to/gtest/executable
在哪里
-T
是测试运行器类型(例如:GoogleTest、Catch2等)-t
是可运行的程序
你不需要指定要监视的文件,因为在这种情况下,provola
会自动监视测试运行器(而不是源代码!)的更改。
你还可以在provola-googletest/examples/data/
中找到一个GoogleTest运行器的示例。
这是一个(正在开发中)的受支持框架列表
框架 | 语言 |
---|---|
Google Test | C++ |
Catch2 | C++ |
安装
如果你有Rust工具链,只需克隆此项目,然后从根目录开始
cargo install --path .
egui
功能,提供图形用户界面,默认启用。您可以选择禁用它。
cargo install --no-default-features --path .
Arch Linux
您可以从 aur 安装 provola
软件包。
yay -S provola
Shell 自动完成
provola
为 shell 提供自动完成功能,以实现更快速的使用。
您可以为您喜欢的 shell 安装自动完成功能。
provola --shell-compl zsh > ~/.zfunc/_provola
依赖项
~7–22MB
~302K SLoC