#前言 本文介绍了C++编程中的“利器”。
作者是现在对相关知识理解还不是很深入,后续会不断完善。因此文中内容仅供参考,具体的知识点请以OpenGL的官方文档为准
#前言 本文介绍了如何使用宏来控制C++单元测试的开启和关闭,本文的单元测试工具指的是google的C++测试框架gtest。 gtest目前最新的稳定release版本是1.7,关于gtest的介绍请移步gtest的主页,它的编译安装和使用都很简单,你可以直接把gtest的源码copy到自己项目里来使用,也可以使用header+静态库的方式集成到项目中。入门的话建议从它源码仓库里自带的测试用例看起,模仿着这些sample写用例可以快速上手。本文不对具体使用方法做介绍。
TEST
测试,典型的用法像下面的代码这样:
#include <iostream>
#include "gtest/gtest.h"
using namespace std;
TEST(TempTest, Test1)
{
cout << "============== Test1 ================" << endl;
int i = 4 * 5;
EXPECT_EQ(20, i); // 20 == i
EXPECT_NE(21, i); // 21 != i
EXPECT_TRUE(20 == i);
EXPECT_FALSE(21 == i);
cout << i << endl; // 输出这么多行是在模拟复杂测试的时候,测试用例的输出可能会很多。
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
}
TEST(TempTest, Test2)
{
cout << "============== Test2 ================" << endl;
int i = 20 * 5;
EXPECT_GT(101, i); // 101 > i
EXPECT_LT(99, i); // 99 < i
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
}
TEST(TempTest, Test3)
{
cout << "============== Test3 ================" << endl;
int i = 2 * 5;
EXPECT_GT(1, i); // 1 > i ? will not pass.
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
cout << i << endl;
}
int main(int argc, char** argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
#前言
本文总结了在windows上使用cocos compile
命令编译cocos2d-x安卓apk的基本用法,以及记录一个使用NDK-r9d(gcc 4.8)编译C++11的hash_map
遇到的一个问题: error: invalid use of incomplete type 'struct std::hash<MessageType>'
。