猿问

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

假设我有这样的方法我应该在这里测试什么:


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 测试是否有其他测试案例?


扬帆大鱼
浏览 125回答 1
1回答

墨色风雨

这一切都归结为该方法应该做什么,而不是它的当前代码,但是鉴于您所拥有的,我可以找到一些简单的测试:参数必须与返回值相同。如果发送为 false,则断言这两个属性都设置为 true。如果这两个属性都为真,真的有必要调用Update吗?这是测试可以发现的潜在改进。检查那个Update真的叫。由于这是另一种方法(我们不知道是私有还是什么),您可以验证其副作用。如果没有发生错误,则无需记录错误消息,这可能是您的实现中的错误(尽管不确定它是否值得进行单元测试)。一个明显的错误是该方法不检查空值,测试很容易检查。不是为了编写单元测试,而是currentTime根本不使用该参数,应该将其删除。
随时随地看视频慕课网APP
我要回答