gpt4 book ai didi

unit-testing - 单元测试日期 - 如果不是工作日

转载 作者:行者123 更新时间:2023-12-04 05:34:40 25 4
gpt4 key购买 nike

如果时间戳是周末,即星期六或星期日,我有一个小方法返回 true 或 false。

现在我对单元测试很陌生,我正在尝试为此编写单元测试。

在我的测试用例中,我将如何进行:

这是我最初的想法。

1. Pick any 1 week from the past and then...
1.1. Get a timestamp for all 5 week days (mon through fri) and pass each timestamp to the function being tested. If they all return false then proceed...
1.2 Get the timestamp for both weekend days and pass each to function being tested. If they both return true then we know the function is correct.


2  Simply pick 1 weekday from the past and 1 weekend day from the past and test with only those 2 dates

我在这两种方法中的任何一种都正确还是有更好的方法来测试它?

最佳答案

如果您将多个检查放入一个测试中,您将遇到的问题是,当第一个检查失败时,您将不知道某些检查可能返回什么。假设该方法在第 3 天失败。它会在第 4 天工作吗?在尝试查找错误时,此信息可能非常有用。

我的方法是一次测试所有值。它是这样工作的:

  • 选择过去的日期
  • 创建一个循环,将日期提前 8 次
  • 为每个日期调用该方法并将结果附加到字符串
  • 通过查看真实日历创建具有预期结果的字符串)
  • 比较两个字符串

  • 这样,您可以一目了然地看到该方法失败的日期。

    另一种选择是编写 8 个测试并让每个测试检查一个日期。

    提示:当引入时区时,这样的测试往往会失败。创建更多使用接近午夜的时间戳并使用时区的测试。结果仍然正确吗?

    关于unit-testing - 单元测试日期 - 如果不是工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109253/

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