gpt4 book ai didi

c# - 测试在 C# 中使此 DateTime 解析失败?

转载 作者:行者123 更新时间:2023-11-30 21:22:55 25 4
gpt4 key购买 nike

我在单元测试运行期间解析日期时遇到问题,但我无法重现它。为了让它更有趣,当测试由持续集成过程运行时失败,但在 Visual Studio 中运行时成功,并且它们都在同一台机器上运行,尽管使用不同的用户。

这是测试:

[Test]
public void Test()
{
DateTime.Parse("21/12/2009", CultureInfo.CreateSpecificCulture("it-IT"));
}

(在意大利语中,短日期格式为 dd/MM/yyyy)

我希望它失败的原因是我修改了机器上的国际设置,以便意大利文化的短日期模式是 dd/MM/yy,但它看起来要么没有选择它正确地或足够聪明地能够解析它,至少当我手动运行它时是这样。

有什么办法让测试失败吗?

最佳答案

即使您使用的是 CultureInfo 对象,DateTime.Parse 也会根据多种模式尝试您的字符串,以尽量避免引发异常。细节决定成败 - 您可能应该查看 DateTime.Parse 的文档深入。

“足够聪明,无论如何都能解析它”可能就是正在发生的事情。您应该使用 ParseExact 并明确提供格式字符串以使其失败。

关于c# - 测试在 C# 中使此 DateTime 解析失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com