请教unit test的best practice# Programming - 葵花宝典s*r2015-05-08 07:051 楼寝室一哥们儿去隔壁串门,看见一同学在练听力,寝室哥们儿大惊,问:”你干嘛练听力啊?“同学答曰:”准备考研。“寝室其他人大惊道:”考研要考听力啊?“那同学惊道:”考研不考听力啊?“
A*e2015-05-08 07:054 楼比如有这样一个类。class Foo {public:void A() {Helper();...}void B() {Helper();...}private:void Helper() {// complicated logic}};A和B共享了复杂代码。写unit tests时,需要对A和B分别写一套测试吗?如此很多工作都重复了。还有一个办法是让Helper public,单独写针对Helper的测试,简化A和B的测试。可是这样需要假定用户知道A和B的实现都是依赖于Helper,违背了写测试只针对接口,不针对实现的原则。或者干脆把Helper提取出来作为一个类,然后A和B的数据成员使用这个类。如此解决了上一个想法里的问题,但这样似乎又过于复杂。大家是怎么处理这种情况的?
N*m2015-05-08 07:057 楼c++?可以用gtest的friend_test【在 A*******e 的大作中提到】: 比如有这样一个类。: class Foo {: public:: void A() {: Helper();: ...: }: void B() {: Helper();: ...
wh2015-05-08 07:058 楼奔啊。买了什么相机?【在 b**o 的大作中提到】: 昨天新相机到了,今天新电脑到了。: 过节花钱就是爽。: 花钱能让人心情变好!: agree or disagree?: 托福作文。。。: 哈哈。。。
d*i2015-05-08 07:0510 楼Re 这个,利用友元函数可以access私有成员函数的特点,在类里面加上#ifdef _TESTfriend class MyUnitTest;#endif【在 N*****m 的大作中提到】: c++?可以用gtest的friend_test
b*o2015-05-08 07:0511 楼恩,我很容易知足地!再说现在有家有孩子,生气有什么用,也不能离家出走。花钱是最好的办法了!【在 m********e 的大作中提到】: 花钱买到好心情,你赚大了!
A*e2015-05-08 07:0512 楼这个只是怎么访问Helper的问题。我的问题是,假定Helper已经充分测试,如何测试A和B?如果是纯黑箱测试,用户不知道A和B里都调用了Helper,并且Helper已经充分测试,是否应该各写一套,分别测试A和B?其中有关Helper的测试用例都重复出现。【在 N*****m 的大作中提到】: c++?可以用gtest的friend_test
N*m2015-05-08 07:0514 楼除了Helper,A和B有其他不同的复杂逻辑吗?【在 A*******e 的大作中提到】: 这个只是怎么访问Helper的问题。: 我的问题是,假定Helper已经充分测试,如何测试A和B?: 如果是纯黑箱测试,用户不知道A和B里都调用了Helper,并且Helper已经充分测试,是: 否应该各写一套,分别测试A和B?其中有关Helper的测试用例都重复出现。
p*e2015-05-08 07:0515 楼赞,看来你是把买机票的钱拿去买相机电脑了:)【在 b**o 的大作中提到】: 昨天新相机到了,今天新电脑到了。: 过节花钱就是爽。: 花钱能让人心情变好!: agree or disagree?: 托福作文。。。: 哈哈。。。
d*g2015-05-08 07:0517 楼lol赞!【在 b**o 的大作中提到】: 昨天新相机到了,今天新电脑到了。: 过节花钱就是爽。: 花钱能让人心情变好!: agree or disagree?: 托福作文。。。: 哈哈。。。