ATF - 自动化测试框架


BSD
Linux
C/C++

软件简介

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);  
}