Re: [请益] 测试程式问题

楼主: VFCanisLupus (CanisLupus)   2019-07-15 09:48:14
懂你的意思,假如说redis mongodb 那些并没有单元测试的模组或套件(我还没花时间找先
假设),那可以用docker的方式进行。
那这样是不是违反了单元测试的F.I.R.S.T 要点的 F与I ??
微服务用的是Spring Cloud,照上面前辈这样子做的话我做单元测试要用docker 架redis r
abbitmq MySQL mongodb (可能服务发现也要启动起来), 这样每次测试应该是没办法2秒
内执行完了。
期间只要有任何一部分没成功启动或者连线失败都回造成测试失败。
后写测试T要点应该早就违反了,先不讨论
作者: jack0204 (Jarbar王朝)   2019-07-15 09:54:00
你单元测试时还想测redis跟DB就已经违反了
作者: tofuflower (无)   2019-07-15 10:05:00
和 DB 互动的底层测试我不知道有更好的做法但至少开发商务层的时候我不需要跑 dao 的 unit test另外我在写 dao 层的时候不会让服务发现混进去dao 就关心和 dao 的互动更正,dao 层只关心和 DB 的互动
作者: Hevak (Arthow Eshes)   2019-07-15 12:46:00
测试没真的太慢的话强烈建议不要mock DB,就慢两秒给他起来,那一点点毛时间不会影响生产力,mock造成的误差事后要追都会追到哭出来有跑有效的测试比跑符合基础教义的测试重要

Links booklink

Contact Us: admin [ a t ] ucptt.com