|
Console Library 8.0.0
A header-only library that makes C++ simple
|
极简C++测试框架,基于宏与异常实现断言与结果统计。 支持单元测试的注册、执行、结果输出与汇总报告。 More...
#include <cstring>#include <iomanip>#include <iostream>#include <string>#include "../core/csexc.h"#include "../io/colorful.h"#include "../text/fmt.h"#include "../text/repr.h"#include "./time.h"Go to the source code of this file.
Namespaces | |
| namespace | console |
| 本库所有组件所在的顶层命名空间。 | |
Macros | |
| #define | TEST(test_name) |
| #define | EXPR_WARP(expression) |
| #define | ASSERT_TRUE(condition) |
| 断言条件为真。 | |
| #define | ASSERT_FALSE(condition) |
| 断言条件为假。 | |
| #define | ASSERT_EQ(expected, actual) |
| 断言两个值相等。 | |
| #define | ASSERT_NE(expected, actual) |
| 断言两个值不相等。 | |
| #define | ASSERT_LT(a, b) |
| 断言第一个值小于第二个值。 | |
| #define | ASSERT_GT(a, b) |
| 断言第一个值大于第二个值。 | |
| #define | ASSERT_LE(a, b) |
| 断言第一个值小于等于第二个值。 | |
| #define | ASSERT_GE(a, b) |
| 断言第一个值大于等于第二个值。 | |
| #define | ASSERT_NEAR(expected, actual, eps) |
| 断言两个浮点数接近相等。 | |
| #define | ASSERT_NULL(ptr) |
| 断言指针为null。 | |
| #define | ASSERT_NOTNULL(ptr) |
| 断言指针不为null。 | |
| #define | ASSERT_STREQ(expected, actual) |
| 断言C风格字符串相等。 | |
| #define | ASSERT_STRNE(expected, actual) |
| 断言C风格字符串不相等。 | |
| #define | ASSERT_STRCASEEQ(a, b) |
| 断言C风格字符串相等(不区分大小写)。 | |
| #define | ASSERT_STRCONTAINS(str, substr) |
| 断言C风格字符串包含子串。 | |
| #define | ASSERT_STRNOTCONTAINS(str, substr) |
| 断言字符串不包含指定子串。 | |
| #define | ASSERT_THROWS(expression, exception_type) |
| 断言表达式抛出指定类型的异常。 | |
| #define | ASSERT_NO_THROW(expression) |
| 断言表达式不抛出异常。 | |
| #define | ASSERT_THROWS_ANY(expression) |
| 断言表达式抛出任意类型的异常。 | |
| #define | ASSERT_CONTAINS(container, element) |
| 断言容器包含指定元素。 | |
| #define | ASSERT_SIZE_EQ(container, n) |
| 断言容器大小等于指定值。 | |
| #define | ASSERT_EMPTY(container) |
| 断言容器为空。 | |
| #define | ASSERT_NOT_EMPTY(container) |
| 断言容器非空。 | |
| #define | ASSERT_TIMEOUT(expr, ms) |
| 断言超时。 | |
| #define | ASSERT_PERFORMANCE(expr, ops, ms) |
| 断言性能。 | |
| #define | TEST_MAIN int main() {} |
| 测试主函数(其实就是个空壳,没有任何逻辑)。 | |
Functions | |
| int & | console::passed_count () |
| 获取通过的测试用例数量。 | |
| int & | console::failed_count () |
| 获取失败的测试用例数量。 | |
| void | console::pre_summary () |
| 构造守卫对象,程序结束时输出摘要。 | |
| std::string | console::ptr_to_str (const char *s) |
| 辅助函数:安全地将 C 字符串转换为显示字符串。 | |
极简C++测试框架,基于宏与异常实现断言与结果统计。 支持单元测试的注册、执行、结果输出与汇总报告。
| #define ASSERT_CONTAINS | ( | container, | |
| element ) |
断言容器包含指定元素。
| container | 容器。 |
| element | 元素。 |
| AssertError | 容器不包含元素时抛出异常。 |
| #define ASSERT_EMPTY | ( | container | ) |
断言容器为空。
| container | 容器。 |
| AssertError | 容器不为空时抛出异常。 |
| #define ASSERT_EQ | ( | expected, | |
| actual ) |
断言两个值相等。
| expected | 预期值。 |
| actual | 实际值。 |
| AssertError | 值不相等时抛出异常。 |
| #define ASSERT_FALSE | ( | condition | ) |
断言条件为假。
| condition | 要断言的条件。 |
| AssertError | 条件满足时抛出异常。 |
| #define ASSERT_GE | ( | a, | |
| b ) |
断言第一个值大于等于第二个值。
| a | 第一个值。 |
| b | 第二个值。 |
| AssertError | 第一个值不大于等于第二个值时抛出异常。 |
| #define ASSERT_GT | ( | a, | |
| b ) |
断言第一个值大于第二个值。
| a | 第一个值。 |
| b | 第二个值。 |
| AssertError | 第一个值不大于第二个值时抛出异常。 |
| #define ASSERT_LE | ( | a, | |
| b ) |
断言第一个值小于等于第二个值。
| a | 第一个值。 |
| b | 第二个值。 |
| AssertError | 第一个值不小于等于第二个值时抛出异常。 |
| #define ASSERT_LT | ( | a, | |
| b ) |
断言第一个值小于第二个值。
| a | 第一个值。 |
| b | 第二个值。 |
| AssertError | 第一个值不小于第二个值时抛出异常。 |
| #define ASSERT_NE | ( | expected, | |
| actual ) |
断言两个值不相等。
| expected | 预期值。 |
| actual | 实际值。 |
| AssertError | 值相等时抛出异常。 |
| #define ASSERT_NEAR | ( | expected, | |
| actual, | |||
| eps ) |
断言两个浮点数接近相等。
| expected | 期望值。 |
| actual | 实际值。 |
| eps | 允许的误差范围。 |
| AssertError | 两个浮点数不接近相等时抛出异常。 |
| #define ASSERT_NO_THROW | ( | expression | ) |
断言表达式不抛出异常。
| expression | 表达式。 |
| AssertError | 表达式抛出异常时抛出异常。 |
| #define ASSERT_NOT_EMPTY | ( | container | ) |
断言容器非空。
| container | 容器。 |
| AssertError | 容器为空时抛出异常。 |
| #define ASSERT_NOTNULL | ( | ptr | ) |
断言指针不为null。
| ptr | 指针。 |
| AssertError | 指针为null时抛出异常。 |
| #define ASSERT_NULL | ( | ptr | ) |
断言指针为null。
| ptr | 指针。 |
| AssertError | 指针不为null时抛出异常。 |
| #define ASSERT_PERFORMANCE | ( | expr, | |
| ops, | |||
| ms ) |
断言性能。
| expr | 表达式。 |
| ops | 操作次数。 |
| ms | 超时时间(毫秒)。 |
| AssertError | 表达式执行时间超过指定时间时抛出异常。 |
| #define ASSERT_SIZE_EQ | ( | container, | |
| n ) |
断言容器大小等于指定值。
| container | 容器。 |
| n | 期望大小。 |
| AssertError | 容器大小不等于指定值时抛出异常。 |
| #define ASSERT_STRCASEEQ | ( | a, | |
| b ) |
断言C风格字符串相等(不区分大小写)。
| a | 字符串A。 |
| b | 字符串B。 |
| AssertError | 字符串不相等时抛出异常。 |
| #define ASSERT_STRCONTAINS | ( | str, | |
| substr ) |
断言C风格字符串包含子串。
| str | 字符串。 |
| substr | 子串。 |
| AssertError | 字符串不包含子串时抛出异常。 |
| #define ASSERT_STREQ | ( | expected, | |
| actual ) |
断言C风格字符串相等。
| expected | 预期字符串。 |
| actual | 实际字符串。 |
| AssertError | 字符串不相等时抛出异常。 |
| #define ASSERT_STRNE | ( | expected, | |
| actual ) |
断言C风格字符串不相等。
| expected | 预期字符串。 |
| actual | 实际字符串。 |
| AssertError | 字符串相等时抛出异常。 |
| #define ASSERT_STRNOTCONTAINS | ( | str, | |
| substr ) |
断言字符串不包含指定子串。
| str | 字符串。 |
| substr | 子串。 |
| #define ASSERT_THROWS | ( | expression, | |
| exception_type ) |
断言表达式抛出指定类型的异常。
| expression | 表达式。 |
| exception_type | 异常类型。 |
| AssertError | 表达式未抛出指定类型的异常时抛出异常。 |
| #define ASSERT_THROWS_ANY | ( | expression | ) |
断言表达式抛出任意类型的异常。
| expression | 表达式。 |
| AssertError | 表达式未抛出异常时抛出异常。 |
| #define ASSERT_TIMEOUT | ( | expr, | |
| ms ) |
断言超时。
| expr | 表达式。 |
| ms | 超时时间(毫秒)。 |
| AssertError | 表达式执行时间超过指定时间时抛出异常。 |
| #define ASSERT_TRUE | ( | condition | ) |
断言条件为真。
| condition | 要断言的条件。 |
| AssertError | 条件不满足时抛出异常。 |
| #define EXPR_WARP | ( | expression | ) |
| #define TEST | ( | test_name | ) |
| #define TEST_MAIN int main() {} |
测试主函数(其实就是个空壳,没有任何逻辑)。