#language #cycle #quick #shell #development-test #completion

app provola

任何语言的快速开发/测试周期工具

8个版本

0.2.0 2022年1月7日
0.1.7 2021年12月13日
0.1.1 2021年11月30日

#415 in 测试

MIT/Apache

360KB
1.5K SLoC

包含 (压缩文件,250KB) icon/provola-icon.kra

Provola

测试它!Provalo! → Provola!

Provola Logo

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

GoogleTest example

在哪里

  • -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