• swordman
    2022-04-11
    @DataProvider public static Object[][] FinalPrice() { return new Object[][]{ {1111, 2222, "佛跳墙", 200, -20, 180}, {1112, 2223, "珍珠翡翠白玉汤", 100, -10, 90} }; } @DataProvider("FinalPrice") @Test public void shouldFinalPrice(FinalPrice finalPrice) { int price = orderService.determineFinalPrice(finalPrice); //验证order是否在数据库里创建成功 verify(比较price和finalPrice的最后一个常量是否相等); }

    作者回复: 👍 正确又干净!

    共 3 条评论
    8
  • 太匆匆
    2022-04-11
    Oh Yeah,有多少开发人员愿意做单元测试,又有多少项目经理允许开发人员有时间去做单元测试

    作者回复: 领域逻辑复杂而重的软件产品,一定要做好单元测试,目标是明确的。怎么推动,可以灵活一点,尊重人性的认知过程,比如,你可以把老大重视的bug和开发团队过一遍,讨论一下这些bug能够最早发现的阶段,获得共识后,找小一块单元测试的试验田,获得实践后,推广到更大范围。

    
    7
  • Sarah
    2022-04-19
    在项目中一直在实践单元测试和UI自动化测试结合的方式让整个自动化测试更高效,单元测试覆盖细粒度的功能单元,UI自动化来达到串起整个用户流程的验证

    作者回复: 希望能看到你更多的分享!

    
    2
  • 胡小天
    2022-05-22
    OrderService的单元测试应该是需要拉起整个项目才能进行测吧,本地跑没办法加载Spring注解和配置文档,还是有其他的办法?

    作者回复: 单元测试是动态测试。怎么动起来呢,有两种思路,第一种思路,Spring应用本身就是注解驱动的,先启动应用,再启动单元测试。另外一种思路呢,通过单元测试,来驱动被测单元,比如算法,Utility等。

    
    1
  • On
    2022-05-08
    单元测试是必须得做的,虽然实际情况是迫于交付进度的压力或者开发的不良习惯等等原因,单元测试不做或者做不到位,给测试和项目质量埋下缺陷的隐患。这里想到另一个问题:单元测试和tdd到底有什么区别?是不是后者更彻底、更能保证开发的代码的质量!?谢谢。

    作者回复: TDD是Test Drive Development,是方法论,单元测试是TDD的实现基础。TDD一般指的是先设计测试案例,再开发代码,所以叫做测试驱动开发。 非常理解您的工作实际,单元测试必须要推动,但是从哪个地方入手,范围多大,可以讲点策略,灵活一点。

    
    1
  • lisa
    2023-02-20 来自广东
    领域知识泄漏存在的很大原因是在运行某个测试之前,输入是在这次测试时才确定,所以我们在写测试用例的时候并知道输出是什么,所以就没办法一开始确定。
    
    