【问题标题】:Unit Testing: How to test a method returning current time单元测试:如何测试返回当前时间的方法
【发布时间】:2012-12-15 16:09:09
【问题描述】:

假设我有一个名为Now 的方法,一旦被调用,它应该以纪元格式(以毫秒为单位)返回当前时间。是否可以测试这种方法是否返回正确的值?测试这种方法有意义吗?

【问题讨论】:

  • 你会使用哪种测试方法?
  • 你如何获得当前时间?
  • @Yannbane 我正在使用 boost 测试库。
  • 使用其他时间获取方法(前后)来测试准确性。在循环中多次调用它,以确保它像你希望的那样精细。
  • @Yakk,我认为你的方法会奏效,但这是一种解决方法。如果你问我,最好的方法是与获得时间的机制进行交互。

标签: c++ unit-testing epoch


【解决方案1】:

此方法很可能只是对标准库的调用的包装。标准库不需要任何测试。您需要测试的只是从标准库中获取某些内容并将其转换为您需要的格式的代码。所以我建议你把这段代码移到一个单独的方法中,并通过不向它提供从标准库返回的当前值来测试它,而是用已知正确结果的固定值。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2016-01-26
    相关资源
    最近更新 更多