欢迎来到天天文库
浏览记录
ID:21970955
大小:779.00 KB
页数:22页
时间:2018-10-21
《tdd敏捷开发实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TDD敏捷开发实践黄贝TDDandXPWhatisTDDTestDrivenDevelopmentTestDrivenDesignTooDifficulttoDoTDDProcedure重构代码测试用例WhynotUnitTest单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。IamRight!RightorWrong我们迫切证明程序正确性的恶果:模块耦合度高接口不明确模块(类)定义混乱可读性差还有。。。HowtodoTDD纠正我们的思想站在使用者的角度抛弃细节的考虑Example需求描述:开发一个堆栈的数据结构,该
2、堆栈的容量是10,存储正整数。请实现堆栈的基本操作,包括PUSH、IsEmpty。PUSH:压栈操作,向堆栈的顶部添加一个数据。IsEmpty:判断该堆栈是否为空?返回一个布尔值。Page10ExampleTEST(test_stack_isEmpty,test_should_return_true_if_stack_is_empty){Stackstack;ASSERT_TRUE(stack.isEmpty());};Page11$makecleanallTest_stack.cpp(17):errorC2146:语法错误:缺少“;”(在标识符“stack
3、”的前面)Test_stack.cpp(17):errorC4430:缺少类型说明符-假定为int。注意:C++不支持默认intTest_stack.cpp(17):errorC4430:缺少类型说明符-假定为int。注意:C++不支持默认intTest_stack.cpp(22):errorC2065:“stack”:未声明的标识符Test_stack.cpp(24):errorC3861:“isEmpty”:找不到标识符…ExamplePage12classStack{public:boolisEmpty();};boolStack::isEmpty(
4、){returntrue;}ExamplePage13$makecleanall[==========]Running1testfrom1testcase.[----------]Globaltestenvironmentset-up.[----------]1testfromTestStack[RUN]TestStack.test_should_return_true_if_stack_is_empty[OK]TestStack.test_should_return_true_if_stack_is_empty[----------]Globalteste
5、nvironmenttear-down[==========]1testfrom1testcaseran.[PASSED]1test.ExamplePage14TEST(test_stack_isEmpty,test_should_return_true_if_stack_is_empty){Stackstack;ASSERT_TRUE(stack.isEmpty());};TEST(test_stack_isEmpty,test_should_return_false_if_stack_is_not_empty){Stackstack;stack.pu
6、sh(10);ASSERT_FALSE(stack.isEmpty());};ExamplePage15$Compiling...Test_Stack.cpp.utsrcsampleTest_Stack.cpp(21):errorC2039:'push':isnotamemberof'Stack'e:utprojincludestack.h(4):seedeclarationof'Stack'classStack{public:voidpush();};voidStack::push(){}ExamplePage16[==========]R
7、unning2testsfrom1testcase.[----------]Globaltestenvironmentset-up.[----------]2testsfromTestStack[RUN]TestStack.test_should_return_true_if_stack_is_created[OK]TestStack.test_should_return_true_if_stack_is_created[RUN]TestStack.test_should_return_false_if_push_one_element.utsrcsa
8、mpleTest_Stack.cpp(22):er
此文档下载收益归作者所有