mkdir build && cd $_ && cmake -Dgtest_build_samples=ON .. && make
run test: ./googletest/sample1_unittest
./googletest/sample1_unittest
Running main() from /Users/nonocast/Develop/vendors/googletest/googletest/src/gtest_main.cc
[==========] Running 6 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from FactorialTest
[ RUN ] FactorialTest.Negative
[ OK ] FactorialTest.Negative (0 ms)
[ RUN ] FactorialTest.Zero
[ OK ] FactorialTest.Zero (0 ms)
[ RUN ] FactorialTest.Positive
[ OK ] FactorialTest.Positive (0 ms)
[----------] 3 tests from FactorialTest (0 ms total)
[----------] 3 tests from IsPrimeTest
[ RUN ] IsPrimeTest.Negative
[ OK ] IsPrimeTest.Negative (0 ms)
[ RUN ] IsPrimeTest.Trivial
[ OK ] IsPrimeTest.Trivial (0 ms)
[ RUN ] IsPrimeTest.Positive
[ OK ] IsPrimeTest.Positive (0 ms)
[----------] 3 tests from IsPrimeTest (0 ms total)
[----------] Global test environment tear-down
[==========] 6 tests from 2 test suites ran. (0 ms total)
[ PASSED ] 6 tests.
% ./hello
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from suite1
[ RUN ] suite1.test1
[ OK ] suite1.test1 (0 ms)
[----------] 1 test from suite1 (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
./hello_test
Running main() from /Users/nonocast/Develop/vendors/googletest/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from suite1
[ RUN ] suite1.test1
[ OK ] suite1.test1 (0 ms)
[----------] 1 test from suite1 (0 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
frameworks:
从人气来看googletest完胜。
googletest
install
git clone https://github.com/google/googletest
mkdir build && cd $_ && cmake -Dgtest_build_samples=ON .. && make
./googletest/sample1_unittest
sudo make install
png-config --cflags --libs gtest
hello world (C++)
hello.cc
运行后输出:
test c object file
hello.c
hello_test.cc
compile & link
clang -c hello.c
clang ++ -std=c++11 -c hello_test.cc
run:
Demo
搞googletest就是为了通过sps/pps生成AVCDecoderConfigurationRecord,
先写一个test,
有了脚手架,一步步来磨生成函数,毕竟对指针毫无抵抗,
SetUp
参考阅读