ATF自动化测试框架
ATF (Automated Testing Framework) 自动化测试框架。
测试示例代码:
// The t_example_1.cpp test program.
#include <atf-c++.hpp>
#include <cmath>
#include <cstdio>
#include <cstring>
ATF_TEST_CASE(pow_func);
ATF_TEST_CASE_HEAD(pow_func)
{
set_md_var("descr", "Checks the pow function");
}
ATF_TEST_CASE_BODY(pow_func)
{
using std::pow;
ATF_CHECK_EQUAL(pow(2.0, 0.0), 1);
ATF_CHECK_EQUAL(pow(2.0, 1.0), 2);
ATF_CHECK_EQUAL(pow(2.0, 2.0), 4);
ATF_CHECK_EQUAL(pow(2.0, 3.0), 8);
}
ATF_TEST_CASE(snprintf_func);
ATF_TEST_CASE_HEAD(snprintf_func)
{
set_md_var("descr", "Checks the snprintf function");
}
ATF_TEST_CASE_BODY(snprintf_func)
{
using std::snprintf;
using std::strcmp;
char buf[80];
snprintf(buf, 80, "Hello");
ATF_CHECK(strcmp(buf, "Hello") == 0);
snprintf(buf, 80, "Hello %d", 5);
ATF_CHECK(strcmp(buf, "Hello 5") == 0);
snprintf(buf, 80, "Hello %s", "world");
ATF_CHECK(strcmp(buf, "Hello world") == 0);
}
ATF_INIT_TEST_CASES(tcs)
{
ATF_ADD_TEST_CASE(tcs, pow_func);
ATF_ADD_TEST_CASE(tcs, snprintf_func);
}
评论