//addedco"> //addedco" />
欢迎来到天天文库
浏览记录
ID:38692938
大小:353.00 KB
页数:10页
时间:2019-06-17
《使用gtest的测试学习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验1代码如下://gtest_demo.cpp:Definestheentrypointfortheconsoleapplication.#include"stdafx.h"#include//addedcodesintFoo(inta,intb){if(a==0
2、
3、b==0){throw"don'tdothat";//这是什么东东??还是个关键字“throw”}intc=a%b;if(c==0)returnb;returnFoo(b,c);}TEST(FooTest,HandleNoneZeroInput)//这个宏的两个参数是用来干嘛的呢
4、???仅仅是为测试取个名字??{//EXPECT_EQ(2,Foo(4,10));//hereitisrightEXPECT_EQ(3,Foo(4,10));//hereitiswrong,结果如截图,原来这里的第一个参数是只Foo函数的返回值。ASSERT_EQ(2,Foo(0,10));//可以在上一句的逗号前加上“<<”像用count一样输出你认为重要的信息。}int_tmain(intargc,_TCHAR*argv[]){testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}结果如下图:实验2事件机制
5、之全局的//gtest_global.cpp:Definestheentrypointfortheconsoleapplication.//这里没有任何的测试用例!!#include"stdafx.h"#include//继承testing::Environment类classFooEnvironment:publictesting::Environment{public:virtualvoidSetUp(){std::cout<<"FooFooEnvironmentSetUP"<6、:cout<<"FooFooEnvironmentTearDown"<7、gv);returnRUN_ALL_TESTS();}结果如下图:实验3事件机制之TestSuite的#include"stdafx.h"#include//继承testing::Test,然后实现两个静态方法classTestFixture:publictesting::Test{public:staticvoidSetUpTestCase()//为所有test初始化{s_i=2;}staticvoidTearDownTestCase()//最后清除{}protected:staticints_i;};intTestFixture::s_i=8、0;//TEST_F这个宏,第一个参数必须是我们上面类的名字,代表一个TestSuite。TEST_F(TestFixture,test1){EXPECT_EQ(2,s_i);//访问共享数据。}int_tmain(intargc,_TCHAR*argv[]){//testing::AddGlobalTestEnvironment(newTestFixture);testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}结果如下:实验4事件机制之TestCase的//gtest_testcase.cpp:Defin9、estheentrypointfortheconsoleapplication.//#include"stdafx.h"#include//一个testfixture,继承testing::Test类classTestFixture:publictesting::Test{public:virtualvoidSetUp()//用于初始化,在每个test调用前调用。{m_test=1;}virtualvoidTearDown()//用于清除垃圾,在每个test调用后调用.{}protec
6、:cout<<"FooFooEnvironmentTearDown"<7、gv);returnRUN_ALL_TESTS();}结果如下图:实验3事件机制之TestSuite的#include"stdafx.h"#include//继承testing::Test,然后实现两个静态方法classTestFixture:publictesting::Test{public:staticvoidSetUpTestCase()//为所有test初始化{s_i=2;}staticvoidTearDownTestCase()//最后清除{}protected:staticints_i;};intTestFixture::s_i=8、0;//TEST_F这个宏,第一个参数必须是我们上面类的名字,代表一个TestSuite。TEST_F(TestFixture,test1){EXPECT_EQ(2,s_i);//访问共享数据。}int_tmain(intargc,_TCHAR*argv[]){//testing::AddGlobalTestEnvironment(newTestFixture);testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}结果如下:实验4事件机制之TestCase的//gtest_testcase.cpp:Defin9、estheentrypointfortheconsoleapplication.//#include"stdafx.h"#include//一个testfixture,继承testing::Test类classTestFixture:publictesting::Test{public:virtualvoidSetUp()//用于初始化,在每个test调用前调用。{m_test=1;}virtualvoidTearDown()//用于清除垃圾,在每个test调用后调用.{}protec
7、gv);returnRUN_ALL_TESTS();}结果如下图:实验3事件机制之TestSuite的#include"stdafx.h"#include//继承testing::Test,然后实现两个静态方法classTestFixture:publictesting::Test{public:staticvoidSetUpTestCase()//为所有test初始化{s_i=2;}staticvoidTearDownTestCase()//最后清除{}protected:staticints_i;};intTestFixture::s_i=
8、0;//TEST_F这个宏,第一个参数必须是我们上面类的名字,代表一个TestSuite。TEST_F(TestFixture,test1){EXPECT_EQ(2,s_i);//访问共享数据。}int_tmain(intargc,_TCHAR*argv[]){//testing::AddGlobalTestEnvironment(newTestFixture);testing::InitGoogleTest(&argc,argv);returnRUN_ALL_TESTS();}结果如下:实验4事件机制之TestCase的//gtest_testcase.cpp:Defin
9、estheentrypointfortheconsoleapplication.//#include"stdafx.h"#include//一个testfixture,继承testing::Test类classTestFixture:publictesting::Test{public:virtualvoidSetUp()//用于初始化,在每个test调用前调用。{m_test=1;}virtualvoidTearDown()//用于清除垃圾,在每个test调用后调用.{}protec
此文档下载收益归作者所有