C****0 发帖数: 53 | 1 最近需要做一个多线程的unit test,但是总是有问题,所以不是很清楚是我的方法有问
题还是gmock不支持多线程。
大体是这样的
1.原来的class是一个QThread的subclass:
class aSubClassOfQthread: public QThread{
...
...
public:
int myFunction();
}
2.然后我用gmock mock一个aSubClassOfQthread
3.测试
TEST(SubClassOfQthread,test1){
aSubClassOfQthread thread1;
EXPECT_CALL(thread1.myFunction()).Times(1); // 期望Call 一次
int check1 = thread1.myfunction(); // 看下返回值
EXPECT_EQ(1, check1); // 看下返回值和预期是否一样
}
问题是 EXPECT_EQ(1, check1) 报错,说返回的是int function的 default value 0.
就算我在my... 阅读全帖 |
|
w*******e 发帖数: 285 | 2 说说我的几点看法,第一如果grok python的parser确实是他写的那的确是很牛,但是
这也只是grok的一部分,grok的主要功能还是支持code search,如果code search没有
grok python的parser也是确实会差一些,但是并不是那么严重,基于纯regex的
parsing也不是完全不能用,grep不也照样可以撑一撑吗。
codesearch这个确实是google内部提高生产力的第一利器,说白了大家都是copy paste
,越方便越好。
还有他认为wanzhanyong的gtest和gmock没有技术含量,这也不完全对,毕竟cpp和
jiava不一样,不是reflection语言,你不能随便胡来那么容易的mock,我感觉gtest和
gmock对于写cpp unittest还是非常好的,对提高代码质量很有帮助。我个人不好判断
他写的grok python parser的贡献就一定比gmock和gtest大,所以他觉得自己肯定因该
当principal也是可以商榷的。
最后说unittest,这个的确是google的culture,至于好坏见仁见智。... 阅读全帖 |
|
A*********t 发帖数: 64 | 3 就是類似gmock那種。google到一個hamcrest.
不過更新到2012年,老了點。 |
|