3º Encontro DeSifTeste Unitários em C      Gleison Rodrigues      xgleisonx@gmail.com
3º Encontro DeSif      FrameWork de teste para C/C++●   Check: A unit testing framework for C.●   MinUnit: TDD em C, simpl...
3º Encontro DeSif                             Check●   Versão 0.9.8●   Ultima atualização 23-09-2009●   Hospedado no sourc...
3º Encontro DeSif#include <check.h>START_TEST (test_name){  /* unit test code */}END_TEST
3º Encontro DeSif                             MinUnit●   Realmente minimalista:       apenas um aquivo MinUnit.h●   Pagina...
3º Encontro DeSif#include <stdio.h>#include "minunit.h"int tests_run = 0;int foo = 7;int bar = 4;static char * test_foo() ...
3º Encontro DeSif/* continuação */int main(int argc, char **argv) {    char *result = all_tests();     if (result != 0) { ...
3º Encontro DeSif                         GoogleTest●   Desenvolvido para C++●   Versão 1.6.0●   Hospedado no GoogleCode.●...
3º Encontro DeSif#include <limits.h>#include "sample1.h"#include "gtest/gtest.h"// Tests Factorial().TEST(FactorialTest, N...
3º Encontro DeSif                              Cgreen●   Note that this tool is for C programming, not C++.●   Tem um guia...
3º Encontro DeSif#include "cgreen/cgreen.h"void this_test_should_pass() {    assert_true(1);}void this_test_should_fail() ...
3º Encontro DeSif    Dúvidas???
3º Encontro DeSif
Upcoming SlideShare
Loading in …5
×

Frameworks para C 3º DeSif

651 views
583 views

Published on

Uma pequena explanação sobre alguns frameworks de teste para a linguagem C.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
651
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Frameworks para C 3º DeSif

  1. 1. 3º Encontro DeSifTeste Unitários em C Gleison Rodrigues xgleisonx@gmail.com
  2. 2. 3º Encontro DeSif FrameWork de teste para C/C++● Check: A unit testing framework for C.● MinUnit: TDD em C, simples e prático.● Googletest: Google C++ Testing Framework.● Cgreen: A unit tester for the C software developer.
  3. 3. 3º Encontro DeSif Check● Versão 0.9.8● Ultima atualização 23-09-2009● Hospedado no sourceforge● Faz uso de macros:● Escrevendo um teste:
  4. 4. 3º Encontro DeSif#include <check.h>START_TEST (test_name){ /* unit test code */}END_TEST
  5. 5. 3º Encontro DeSif MinUnit● Realmente minimalista: apenas um aquivo MinUnit.h● Pagina de referencia Jera.● Escrevendo um teste:
  6. 6. 3º Encontro DeSif#include <stdio.h>#include "minunit.h"int tests_run = 0;int foo = 7;int bar = 4;static char * test_foo() { mu_assert("error, foo != 7", foo == 7); return 0;}static char * test_bar() { mu_assert("error, bar != 5", bar == 5); return 0;}static char * all_tests() { mu_run_test(test_foo); mu_run_test(test_bar); return 0;}
  7. 7. 3º Encontro DeSif/* continuação */int main(int argc, char **argv) { char *result = all_tests(); if (result != 0) { printf("%sn", result); }else { printf("ALL TESTS PASSEDn"); } printf("Tests run: %dn", tests_run); return result != 0;}
  8. 8. 3º Encontro DeSif GoogleTest● Desenvolvido para C++● Versão 1.6.0● Hospedado no GoogleCode.● Faz uso de macros.
  9. 9. 3º Encontro DeSif#include <limits.h>#include "sample1.h"#include "gtest/gtest.h"// Tests Factorial().TEST(FactorialTest, Negative) { EXPECT_EQ(1, Factorial(-5)); EXPECT_TRUE(Factorial(-10) > 0);}TEST(FactorialTest, Zero) { EXPECT_EQ(1, Factorial(0));}TEST(FactorialTest, Positive) { EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(2, Factorial(2)); EXPECT_EQ(40320, Factorial(8));}
  10. 10. 3º Encontro DeSif Cgreen● Note that this tool is for C programming, not C++.● Tem um guia em português do Brasil● Versão 1.0.0-beta2● Hospedado no sourceforge● Faz uso de macros
  11. 11. 3º Encontro DeSif#include "cgreen/cgreen.h"void this_test_should_pass() { assert_true(1);}void this_test_should_fail() { assert_true(0);}int main(int argc, char **argv) { TestSuite *suite = create_test_suite(); add_test(suite, this_test_should_pass); add_test(suite, this_test_should_fail); return run_test_suite(suite, create_text_reporter());}
  12. 12. 3º Encontro DeSif Dúvidas???
  13. 13. 3º Encontro DeSif

×