这是错误的代码还是如何使用 xUnit Test 测试/覆盖它?

问题描述 投票:0回答:1

代码覆盖率告诉我,下面的代码中没有覆盖catch语句。这是旧代码,我不确定为什么要这样写。 如何测试呢?有可能吗?如果主机计算机具有不同的文化设置,是否会发生潜在的异常?或者这是一个错误编码的例子,应该删除 try..catch ?

public string DoSomething(string text) { TimeZoneInfo tzi; try { tzi=TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); } catch { tzi=TimeZoneInfo.FindSystemTimeZoneById("US/Eastern"); } return text + tzi.ToString(); }
    
try-catch xunit.net c#-6.0
1个回答
0
投票
好吧,根据

文档

,方法
TimeZoneInfo.FindSystemTimeZoneById可以抛出异常,因此删除catch
子句将进行功能更改,并可能在调用它的许多地方导致不同的行为。

所以方法应该保持原样。

© www.soinside.com 2019 - 2024. All rights reserved.