看一线测试大牛怎么写单元测试

我们都知道,开发软件时,为代码编写单元测试是很好的,但实际上,光有测试还不够,好的测试的编写同样重要。

要做到这一点,考虑遵循一些固执的原则:

1、保持测试代码的紧凑和可读性
要做到这一点,应该要进行毫不留情的重构,就像对生产代码应该做的那样。否则让测试代码随着时间腐化,就是在测试里面制造可怕的遗留代码。如果测试不能很容易重构,那么生产代码也很难重构,从而导致生产系统的遗留代码。始终做一个勇敢的重构者。


2、避免编写重复累赘的断言
举个例子,测试代码使用正则表达式生成内容,而这个正则表达式是跟生产代码的解析器中使用的一模一样的。

一般来说,我们不希望在测试和代码之间复制逻辑。因此,在测试中复制正则表达式或其他内容不是一种选择。在这种情况下,考虑测试输入激励/输出结果之间的关系(f(输入) - >输出)可能会有帮助,例如,如果代码的目标是要做模板替换,不要在测试代码里用原始值来做替换。相反,在测试里面直接指定预期的计算结果。

// 使用
Assertions.assertThat(processTemplate("param1", "param2")).isEqualTo("this is 'param1', and this is 'param2'"));

// 而不要用
Assertions.assertThat(processTempl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值