31个版本 (4个稳定版)
| 1.0.3 | 2024年4月6日 |
|---|---|
| 1.0.1 | 2022年11月13日 |
| 1.0.0 | 2022年5月30日 |
| 0.10.0 | 2022年4月28日 |
| 0.5.1 | 2021年6月22日 |
#29 in 测试
每月58次下载
165KB
3.5K SLoC
Quick Test CLI
针对竞技编程压力测试的命令行界面(CLI)
📖 文档
演示

文档
目录
入门
安装
Linux、Windows和macOS的安装教程可以在这里的文档网站上找到
简介
Quick Test CLI是一个项目,旨在以简单快捷的方式对竞技编程比赛中的压力进行测试,只关注比赛本身。
目前,Quick Test CLI支持以下三种类型的测试:
| quicktest cmp | quicktest stress | quicktest check |
|---|---|---|
![]() |
![]() |
![]() |
-
quicktest cmp | qt cmp:通过将其与通常非常慢但100%确能提供正确解的暴力解法进行比较,来检查我们想要验证的算法的正确性。-
示例
quicktest cmp --target-file=main.cpp --correct-file=correct.cpp --gen-file=gen.cpp # Or shorter: qt cmp -t main.cpp -c correct.cpp -g gen.cpp --tout 1000 --tc 1000
-
-
quicktest stress | qt stress:使用随机生成器为多个测试案例验证代码执行时间是否超过允许的范围。注意:在这种情况下,没有比它更慢的解决方案可以用来比较正确性。
- 示例
quicktest stress --target-file=main.cpp --gen-file=gen.cpp # Or shorter: qt stress -t main.cpp -g gen.cpp --tout 1000 --tc 1000
- 示例
-
quicktest check | qt check:在某些问题中,多个答案都被接受,此时使用quicktest cmp命令将不会正确工作,在这种情况下,使用脚本检查器来验证算法的正确性。- 示例
quicktest check --target-file=main.cpp --checker-file=correct.cpp --gen-file=gen.cpp # Or shorter: qt check -t main.cpp -c check.cpp -g gen.cpp --tout 1000 --tc 1000
- 示例
-
quicktest output | qt output:运行所有匹配前缀的测试案例,并将响应保存到输出文件中- 示例
quicktest output --target-file=main.cpp --prefix=testcase_ac # Or shorter: qt output -t main.cpp -p test_cases/testcase_ac --tout 1000
- 示例
命令
注意:您可以使用长命令 quicktest 或别名 qt
-
quicktest cmp|qt cmp必需选项
-t=<value> | --target-file=<value>-c=<value> | --correct-file=<value>-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]--timeout=<value> | --tout=<value> [默认: 2000]时间单位:ms--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]时间单位:bytes--prefix=<value> | -p=<value>与--gen-file冲突(一次只能使用一个)--diff显示预期文件和输出文件之间的差异
-
quicktest stress|qt stress必需选项
-t=<value> | --target-file=<value>-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]--timeout=<value> | --tout=<value> [默认: 2000]时间单位:ms--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]时间单位:bytes--prefix=<value> | -p=<value>与--gen-file冲突(一次只能使用一个)
-
quicktest check|qt check必需选项
-t=<value> | --target-file=<value>-c=<value> | --checker-file=<value>-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]--timeout=<value> | --tout=<value> [默认: 2000]时间单位:ms--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]时间单位:bytes--prefix=<value> | -p=<value>与--gen-file冲突(一次只能使用一个)
-
cmp、stress和check子命令的标志--break-bad | --break如果出现 WA、TLE 或 RTE 状态则中断--run-ac运行接受测试用例--run-all运行所有测试用例--run-rte运行运行时间错误测试用例--run-tle运行时间限制超出的测试用例--run-wa运行错误答案测试用例--save-all保存所有测试用例--save-bad仅保存具有 WA、TLE 或 RTE 状态的坏案例
-
quicktest 输出|qt 输出必需选项
-t=<value> | --target-file=<value>-p=<value> | --prefix=<value>
其他选项
--timeout=<value> | --tout=<value> [默认: 2000]时间单位:ms--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]时间单位:bytes--break-bad | --break如果出现 WA、TLE 或 RTE 状态则中断--save-out保存每个测试用例的目标文件输出
-
quicktest 设置|qt 设置子命令
-
config允许更改 C++ 设置的子命令选项
--label=<value>指定要更改的配置路径的标签--value=<value>将选定的标签更改为你想要的值
-
-
quicktest 示例|qt 示例标志
--check显示检查子命令的示例--cmp显示比较子命令的示例--stress显示压力子命令的示例--output显示输出子命令的示例--setup显示设置子命令的示例
注意:一次只能使用一个标志
如何贡献
如果您对为 Quick Test CLI 项目做出贡献感兴趣,请参阅 贡献指南
错误报告
您可以通过 此处 报告任何错误。
支持的语言
| 语言 |
|---|
| C++ |
| Java |
| Python |
| Rust 语言 |
| Go 语言 |
| GNU C |
| Kotlin |
编译和执行命令
| 语言 | 编译器/解释器 | 执行命令 |
|---|---|---|
| C++17 | g++ -std=c++17 -Wall -DONLINE_JUDGE=1 -o .qt/main main.cpp |
./.qt/main |
| Java | javac-d.qt/主.java |
java-cp.qt/主 |
| Python3 | python3 main.py |
|
| Rust 语言 | cp main.rs~/.quicktest/rust/src/main.rs&&cargo build--release--quiet--manifest-path~/.quicktest/rust/Cargo.toml&&cp~/.quicktest/rust/target/release/rust.qt/main |
./.qt/main |
| Go 语言 | cp main.go~/.quicktest/go_mod/main.go&&go build-buildmode=exe-o./.qt/main~/.quicktest/go_mod/main.go |
./.qt/main |
| GNU C | gcc -std=gnu11 -lmmain.c -o.qt/main |
./.qt/main |
| Kotlin | kotlinc main.kt-include-runtime-d.qt/main.jar |
java-jar.qt/main.jar |
许可证
许可协议为以下之一
致谢
标志图像基于Freepik制作的Freepik作品,用于www.flaticon.com
文档基于cpbooster
安装脚本基于deno_install
依赖项
~15–30MB
~409K SLoC


