j*****k 发帖数: 1198 | 1 如果开发的软件有很多hardware interactive的work, 怎么搞unittest? 难道得作一个
virtual hardware么?
谢谢 |
|
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,至于好坏见仁见智。... 阅读全帖 |
|
c*****m 发帖数: 271 | 3 试着写一个python的
import unittest
class DeepIterator():
def __init__(self, deep_list):
if deep_list == None:
self.iterator_stack = []
else:
self.iterator_stack = [[deep_list, 0]]
self.cur_value = None
def hasNext(self):
#the iterator stack is empty, False
if len(self.iterator_stack) == 0:
return False
#ensure hasNext() can be called many times before next()
if self.cur_value != None:
... 阅读全帖 |
|
b*******k 发帖数: 21 | 4 Using the recursive approach:
#!/usr/bin/env python
def solve24(numbers, goal):
"""Give a set of non duplicate positive numbers, can we use +, -, *, /
to get the goal?
Return one solution or None."""
if len(numbers) == 0:
return None
if len(numbers) == 1:
if numbers[0] == goal:
return '%d' % numbers[0]
else:
return None
ops = [
('+', lambda a, b: a - b),
('-', lambda a, b: b - a),
('*', lambda a, b: a / b... 阅读全帖 |
|
d**o 发帖数: 864 | 5 对于我来说,这是主要原因,script就是为了写得快啊,function和test同时写在一个
文件里,边写边测试,今天下午2小时写了200行分析一组数据。要是用C++,估计2天写
N个file才能写完同样的功能。
如果需要unittest,另外写,但数据分析都只是生成简单的统计值等等,并不会在最后
的package中,好像写unittest也没什么意思。 |
|
d********g 发帖数: 10550 | 6 说过多少遍了,正式commit的code不会有这个
unittest不说,你要是看到Python的doctest,那是不是要疯掉了?其实doctest反倒是
最符合unittest本意的,虽然它确实诡异 |
|
d********w 发帖数: 363 | 7 看起来不错阿,你试了哪些test cases么,把unittest也贴出来看看吧 |
|
a****n 发帖数: 1887 | 8 你说的这种设计方式叫做controller - entity, 大部分的business logic 在
controller 里, 不过我更喜欢service - domain object, service 只是很薄的 一层
对应use case.
五六十个columns 做一个包装类,我觉得你们更应该吧这个类分成多个, 中间用
mapper 把数据库完全隔离, 另外这样对于unittest mock db也比较方便 |
|
h*d 发帖数: 19309 | 9 抛砖引玉一下,题目说的是inifite tunnel,只有单一走法,连T连接都没有,应该没
有loop吧,感觉就是:
if (!IsWall()) {
GoStraight();
}
else {
TurnLeft();
if (IsWall()){
TurnLeft();
TurnLeft();
}
GoStraight();
}
UnitTest就是给出3种情况:直行,左转,右转就可以了吧。 |
|
t********c 发帖数: 28 | 10 讲真,打杂的活也是能做出新项目来的
光是unittest就可以玩出很多花样了
你时间多的话就多做点工具或者质量方面的事情
没人想做,但做成了又能提高效率
很多升职快的新人都是做build infra, quality/test infra开始的 |
|
T*******e 发帖数: 4928 | 11 别听他胡扯。如果你说你的项目是quality和unittest.
就没人来投靠你了。 |
|
t********c 发帖数: 28 | 12 这些事情当然不是最好的事情,也不太能靠这个招手下,但senior都没做到就想着有人
投靠你,这又不是玄幻小说
帮别人写unittest当然格局很低,但你写出来的是mockito这样的东西格局如何了呢
G里面一个presubmit的系统就养了多少人
类似memory profile的事情都是大家不想搞,做好了又很有价值,还可以很简单量化效
果的事情。
跳进一个60人组,干掉一群老人,拿最好的项目不是不可能,可惜我比较蠢,玩不起来 |
|
T*******e 发帖数: 4928 | 13 那你以身作则,就帮别人写unittest去吧。
|
|
t******i 发帖数: 483 | 14 刚看完面经。关于写完代码后的testcase有点问题在这里请教各位大神
TestCase应该怎么写。和写Unittest一样么?还是说自己设定条件自己写?
如果写白板的话写出来又不能跑还有写的必要么?是不是拿嘴说一下几个情况就可以了?
谢谢指教。 |
|
L*******r 发帖数: 8961 | 15 没问题。这是微软的好产品。
这里头有很多的ProjectManager,QA,UnitTest,质量很好,
放心用吧! |
|
w*******u 发帖数: 131 | 16 上次最后给offer的师兄最后去了我们另一个组
我们组HM非常遗憾和郁闷,还让我帮忙找人
我们组又有两个opening
一个frontend一个backend
frontend侧重PHP/Java script/CSS/AJAX/Perl/DHTML
backend侧重C++/SQL/PHP/Perl/XML
还有基本的数据结构和算法,Unix的使用
然后我们组还有QA automation的opening
侧重Perl/PHP/Web testing/QA process/Unittest/FIT(不用全懂)
Yahoo!虽然福利待遇不比Google
但是在湾区混口饭吃,尤其是想解决H1B啊想办绿卡啊
还是没问题的
有明年要毕业的xdjm要拿个保底offer的可以考虑一下站内丢个简历过来试试
之前丢给过我的也可以再丢一份updated的,或者跟我说一声咱们就用以前的(应该还
在我gmail里面)
Yahoo不track之前申请纪录的,无论之前被拒也好压根没被联系也好通通不算。(这个
情况以后系统升级后可能会有所改变) |
|
r*****s 发帖数: 985 | 17 I got the most typical junit problem in ant again. I forgot how I solved
the problem last time. I guess most of people using Junit encountered
this problem before.
Any idea about it? Thanks!
[snip]
unitTests:
BUILD FAILED
...\xxx\build.xml:485: Could not create task or type of type: junit.
Ant could not find the task or a class this task relies upon.
1 You have misspelt 'junit'.
Fix: check your spelling.
no.
2 The task needs an external JAR file to execute
and this is not found at the righ |
|
r*****s 发帖数: 985 | 18 the script for the target. I don't see any problem here.
Remember Ant complains about "junit" ...
haltonfailure="yes"
fork="yes"
dir="${basedir}">
h**d 发帖数: 474 | 19 nod,
my statement: unittest is part of the code, period. no arguement:)
this | |
|
p***p 发帖数: 559 | 20 what is unittest? JUNIT? any book or artical about it |
|
t*******e 发帖数: 684 | 21 add jcoverage to check if your unittest covers all the business methods. |
|
n**f 发帖数: 121 | 22 wrap all hardware relevant call into one interface, then test against the
interface. |
|
d********g 发帖数: 10550 | 23 这是疯了吧,open source现在你不写unittest的case都不好意思放出去,人家会笑你
没文化的。要么多读点书,要么多吃点药,你就这两条路
还文档,MSDN我看的时候你是不是还在喝奶,你不知道比如Django的文档质量比啥烂
MSDN好一万倍了吗? |
|
d********g 发帖数: 10550 | 24 很多__main__只是用来当一个简单的test case而已
如果你import,没有这个判断会误触发这个test case。正确的当然是写个unittest,
不过有些小测试这么直观一些
说到代码标准,如果用Python还import *而且自己的package从来不定义__all__,那全
部打回去重看doc |
|
d********g 发帖数: 10550 | 25 举个简单例子好了
IDE里搞一个project,一个单py文件里有小模块,是被别的import的
然后你顺手想测一下几个功能,都够不上unittest的级别,就是一些临时的小测试,像
print、log点中间变量之类的
这时候你顺手就可以写点代码去测试,然后IDE里直接run这个文件
你要是不写那个检查,你的project每次都会运行那个测试
另外正式commit上去的不会有这个,都是和正规test case对应
不明白二爷在这个问题上纠缠这么久是啥意思?你要是觉得把所有代码放那个检查下面
比较难看,可以写个main()之类的,最后只调这个好了
要说难看,每个语言都有自己的哲学,以一个语言的哲学看另一个语言,基本都是一坨
屎。比如Ruby,推崇metaprogramming搞magic,这在Python里直接被毙掉,虽然Python
同样有这个能力搞metaprogramming。再如Java,写个简单功能啰嗦一大堆,这都不烦
死?不信试试运行import this |
|
d**o 发帖数: 864 | 26 1.最讨厌,所以用Python写大一点的程序很难,而且一定程度上使得python重复使用性
其实
很糟糕。只得通过大量的类型判断,unittest来使得程序稳定。
3. 通过docstring来...其实还是挺喜欢docstring的
4. 还行吧 |
|
m********2 发帖数: 89 | 27 " 别的语言编译错误解决,程序基本上就工作 了"
基本就工作了跟工作了还差多少?
要比的话应该是tests+develop一起比吧? 至少要算上unittest吧? |
|
d********g 发帖数: 10550 | 28 蜥蜴说说Java还是可以的,Python明显不熟。PEP 8这么强迫症的标准还能允许乱写?
pyflakes/pylint、unittest这些都和CI连一起的,就算local是一个白痴写的也连
staging都上不了
Ruby里连数字都是对象,它可没少提OO,Ruby又躺枪了 |
|
d********g 发帖数: 10550 | 29 动态的目前测试主要还是TDD和靠unittest,和静态的比类型检查这一步是差不少。典
型的支持first-class function的几个语言,传func和func()自动查不出来。但真正做
得好的,写动态语言其实就和写C/C++需要自己管理内存差不多,就是严格加严格,还
有修炼加修炼
不过动态语言的优点也是不少的,比如duck typing很爽。静态的搞duck typing就没这
么直接,理念不同而已 |
|
|
g*****g 发帖数: 34805 | 31 If it's not tied to a container, DB, or it can be easily emulated, it's
unittestable.
e.g. you need embedded DB to make dao unit testable. |
|
D***n 发帖数: 6804 | 32 Unittest 你也不干就好意思找QA?你是山寨企业吧? |
|
|
d******k 发帖数: 4295 | 34 没人把git和unittest的经验当做多了不起的东西。只有自尊心强到自卑的人才会觉得
别人让他写test case就是瞧不起他。 |
|
|
d********g 发帖数: 10550 | 36 这都啥人写的垃圾代码……明明第一个是有bug会出错的
测试:
>>> a = {'content-type': 'text/plain'}
>>> b = {'content-type-typo': 'typo'}
第一个:
>>> if [item for item in a.keys() if "content-type" in item]:
... a['content-type']
...
'text/plain'
>>> if [item for item in b.keys() if "content-type" in item]:
... b['content-type']
...
Traceback (most recent call last):
File "", line 2, in
KeyError: 'content-type'
第二个:
>>> if "content-type" in a:
... a['content-type']
...
'text/plain'
>>> if "content-... 阅读全帖 |
|
d******i 发帖数: 7160 | 37 只有MSDN吗?
感觉和unittest是混在一起的。
过来人给说说?
谢了。 |
|
k**n 发帖数: 3989 | 38 应该还没写过复杂的project。。。
象我们这样从java, c#开始往node与client javascript做的, ts就是神器啊。
javascript 用上ts 后, bug少多了, redactor效率高, 不易出错., 加上unittest,
如虎添翼啊. |
|
k**l 发帖数: 2966 | 39 Responsibilities:
* Developing core components in C++
* Responsible for working with architecture team on core trading software
infrastructure.
* Collaborating with quantitative traders to design and test trading models
* Responsibility for creating system testing procedures.
* Salary is commensurate with experience.
Qualifications:
* Excellent communications skills
* 2+ years experience in C++ development
* Proficiency with GNU, or Intel C/C++ compilers
* Proficiency in socket programming
* Pro... 阅读全帖 |
|