为了账号安全,请及时绑定邮箱和手机立即绑定

我应该在这里单元测试什么

我应该在这里单元测试什么

C#
扬帆大鱼 2021-06-05 16:17:04
假设我有这样的方法我应该在这里测试什么:public Subscription ChangeState(TestClass testClass, DateTime currentTime){    testClass.IsDisabled = true;    testClass.IsDelete = true;    Update(testClass);    _logger.LogInfo($"Some Error message is going here");    return testClass;}首先我想到的只是测试 IsDisabled 和 IsDelete 状态 adter 测试是否有其他测试案例?
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

这一切都归结为该方法应该做什么,而不是它的当前代码,但是鉴于您所拥有的,我可以找到一些简单的测试:

  • 参数必须与返回值相同。

  • 如果发送为 false,则断言这两个属性都设置为 true。

  • 如果这两个属性都为真,真的有必要调用Update吗?这是测试可以发现的潜在改进。

  • 检查那个Update真的叫。由于这是另一种方法(我们不知道是私有还是什么),您可以验证其副作用。

  • 如果没有发生错误,则无需记录错误消息,这可能是您的实现中的错误(尽管不确定它是否值得进行单元测试)。

  • 一个明显的错误是该方法不检查空值,测试很容易检查。

  • 不是为了编写单元测试,而是currentTime根本不使用该参数,应该将其删除。


查看完整回答
反对 回复 2021-06-05
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信