#language #cycle #input-output #quick #provola #test-framework

provola-terminalreporter

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

2 个不稳定版本

0.2.0 2022年1月7日
0.1.7 2021年12月13日

#411测试


用于 provola-reporters

MIT/Apache

50KB
1.5K SLoC

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 .

默认启用提供GUI的egui功能。您可以禁用它

cargo install --no-default-features --path .

Arch Linux

您可以从aur安装provola软件包

yay -S provola

Shell自动补全

provola提供shell自动补全,以便更快地使用。

您可以为您的首选shell安装自动补全

provola --shell-compl zsh > ~/.zfunc/_provola

依赖关系

~3–14MB
~128K SLoC