两条测试抢同一个临时文件
场景:~/项目/tests/e2e/test_write.py 的两条测试单独跑都绿,一起跑第二条红:它们写的是同一个固定路径 /tmp/报表.txt。 任务:改这个文件,让两条测试各用各的临时文件(tempfile 模块),不再写死那个路
哪条测试真的去连网了
场景:~/项目 的全套测试在有网的机器上全绿,在这台不连网的机器上有一条出错(ConnectionError)。对照表列了八个测试名。 任务:找出那条没有给外部服务换替身、真的去连网的测试的方法名,到对照表里查它对应的标记。 可操作范围:只
哪个数据文件的编码不对
场景:~/项目 的端到端测试在同事的电脑上全绿,在这台机器上有一条 UnicodeDecodeError——tests/e2e/数据/ 里有一个文件被人用别的编码存过。对照表列了八个文件名。 任务:找出是哪个文件,到对照表里查它的文件名对应
把共享状态改成夹具
场景:~/项目/tests/integration/test_shared.py 两个测试类共用一个模块级的 Store,一起跑时 test_starts_empty 红。 任务:改这个文件,让每条测试拿到自己新建的 Store(夹具在 s
交付:干净环境里全绿
场景:~/项目 的全套测试在同事机器上全绿,在这台干净机器上从根目录跑有好几条红——都是环境差异,不是代码 bug。 任务:把测试改到「在任何机器、任何目录、不设任何环境变量」都全绿:每条测试都要保留、断言不改(读文件按测试文件位置定位;汇
在我机器上是好的
同一份代码,送进两台机器 一台亮绿,一台亮红——"在我机器上是好的" 你把项目文件夹整个拷给同事,同事一跑:ModuleNotFoundError: No module named 'httpkit'。最
两台机器差在哪
同一份代码,A 机器跑得好好的,B 机器报错。除了代码本身,两台机器上会影响「跑不跑得起来」的东西是【0】。
清单要写什么
为了让别人也能跑起来,项目里要放一份「依赖清单」。它写的是【0】。
可复现是什么意思
同一份代码,送进两台机器 一台亮绿,一台亮红——"在我机器上是好的" 「构建可复现」说的是【0】。
构建是什么
「构建(build)」这一步做的事是【0】。