`
sunxboy
  • 浏览: 2869259 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

joda datetime测试心得

 
阅读更多

有些业务逻辑是基于时间的,测试起来比较麻烦,如果用joda datetime就很容易了

比如: 在new Report中有这样的逻辑:

public Report(double energyTotal, double outputEnergy, double outputpower, String clientId, ReportQueryType type) {
        this.clientId = clientId;
        this.energyTotal = energyTotal;
        this.outputEnergy = outputEnergy;
        this.outputpower = outputpower;
        this.reportDate = DateTime.now().withTimeAtStartOfDay().getMillis();
        this.monitorDate = DateTime.now().getMillis();
        this.reportType = type.toValue();
    }

 

字段的赋值用的是系统当前时间, 如何测试?

用joda datetime 时可以这样

// given
        DateTime date = now().withTimeAtStartOfDay();
        List<Report> hourlyReports = newArrayList();
        setCurrentMillisFixed(date.withHourOfDay(1).getMillis());
        hourlyReports.add(buildSimpleReport("inverter1", 200, 20, 10, DATE_TREND));
        setCurrentMillisFixed(date.withHourOfDay(2).getMillis());
        hourlyReports.add(buildSimpleReport("inverter1", 201, 21, 11, DATE_TREND));
        setCurrentMillisFixed(date.withHourOfDay(3).getMillis());
        hourlyReports.add(buildSimpleReport("inverter1", 202, 22, 12, DATE_TREND));
        setCurrentMillisSystem();

 

注意这里

setCurrentMillisFixed(......);指定当前系统时间的值

setCurrentMillisSystem();恢复当前系统时间为正常的系统时间.

 

 

 

 

分享到:
评论

相关推荐

    joda-time-2.4-jar包.rar

    jorg.joda.time.DateTime引用jar包,包括joda-time-2.4.jar、joda-time-2.4-javadoc.jar、joda-time-2.4-sources.jar等以及src代码

    Joda - Time

    Joda-Time的核心类`org.joda.time.DateTime`提供了丰富的构造函数和方法,使得开发者能够方便地进行日期和时间的运算。 **二、核心概念** 1. **DateTime**: Joda-Time的中心类,代表一个具体的日期和时间,包括年...

    joda-time2.0学习笔记

    `DateTime` 类是 Joda-Time 中的核心类之一,用于表示精确到毫秒的日期和时间。 ```java DateTime in = new DateTime(); ``` `DateTime` 类提供了丰富的方法来获取日期和时间的各种组件,例如: - `now()`:返回...

    joda-time源码

    - `DateTime`:这是Joda-Time的主要类,代表了一个精确的日期和时间,包括时区信息。 - `LocalDate`和`LocalTime`:分别代表日期和时间,不包含时区信息,适合处理不涉及时区转换的情况。 - `LocalDateTime`:...

    joda-time2.4源码及编译

    3. **测试与调试**:编写单元测试,验证Joda-Time的功能是否正常工作,通过调试源码,深入理解其实现逻辑。 总结,Joda-Time 2.4作为日期时间处理的利器,通过其丰富的API和优秀的设计,极大地简化了开发者在日期...

    joda-time-2.9.9-dist.tar.gz

    1. **DateTime**: Joda-Time的主类,代表一个特定的日期和时间,包括年、月、日、时、分、秒和纳秒。DateTime相比java.util.Date,增加了对闰秒的支持。 2. **LocalDate**: 表示日期,不包含时间信息。对于只需要...

    joda-2.5.jar

    《Joda-Time 2.5:Java日期时间处理的得力助手》 Joda-Time是Java平台上一个著名的日期和时间处理库,它弥补了Java标准库中日期时间处理的不足。2.5版本是Joda-Time的一个关键更新,带来了诸多改进和新特性,受到了...

    joda-time-2.9.9

    Joda-Time的核心类包括`DateTime`、`LocalDate`、`LocalTime`和`LocalDateTime`,它们分别对应于带有时区的日期和时间、不带时区的日期、不带时区的时间以及不带时区的日期和时间。这些类提供了大量的构造函数和方法...

    joda-time-2.8.1-API文档-中文版.zip

    赠送jar包:joda-time-2.8.1.jar 赠送原API文档:joda-time-2.8.1-javadoc.jar 赠送源代码:joda-time-2.8.1-sources.jar 包含翻译后的API文档:joda-time-2.8.1-javadoc-API文档-中文(简体)版.zip 对应Maven信息...

    joda-time-2.5.zip

    《Joda-Time库详解——基于2.5版本》 在Java编程中,日期和时间处理是常见的需求,但Java标准库中的日期API一直备受诟病,功能有限且使用不便。为了解决这个问题,Joda-Time库应运而生。本文将深入探讨Joda-Time ...

    joda-time-2.1.jar

    joda-time-2.1.jar

    Joda-Money-用于表示货币金额的Java库

    **Joda-Money库详解** Joda-Money是一款专门针对Java平台设计的开源库,用于高效、方便地处理和表示货币金额。它为Java开发者提供了一套强大的工具,以应对在金融计算和货币操作中遇到的各种挑战。在这个库中,货币...

    Joda-Time标准Java日期和时间类的一个高质量替代品

    1. **精确定义的时间模型**:Joda-Time提供了基于`DateTime`的精确时间模型,它不仅包含了年、月、日、时、分、秒,还包含了纳秒级别的时间精度,这在处理高精度时间计算时非常有用。 2. **区域设置支持**:Joda-...

    joda-time-android,具有android专门化的joda时间库.zip

    **Joda-Time for Android**,一个专为Android平台优化的时间日期处理库,是对标准Java日期时间API的一个强大补充。在Android开发中,由于系统默认的日期时间处理功能相对有限且性能不佳,开发者经常会选择Joda-Time...

    joda-time-2.7-dist

    1. **DateTime**:这是Joda-Time中的核心类,代表一个特定的日期和时间点,包括年、月、日、小时、分钟、秒和毫秒。与`java.util.Date`相比,DateTime提供了更丰富的操作方法。 2. **LocalDate**和**LocalTime**:...

    joda-time-2.10.8-API文档-中文版.zip

    赠送jar包:joda-time-2.10.8.jar; 赠送原API文档:joda-time-2.10.8-javadoc.jar; 赠送源代码:joda-time-2.10.8-sources.jar; 赠送Maven依赖信息文件:joda-time-2.10.8.pom; 包含翻译后的API文档:joda-time-...

    joda-time-2.10.4-API文档-中文版.zip

    赠送jar包:joda-time-2.10.4.jar; 赠送原API文档:joda-time-2.10.4-javadoc.jar; 赠送源代码:joda-time-2.10.4-sources.jar; 赠送Maven依赖信息文件:joda-time-2.10.4.pom; 包含翻译后的API文档:joda-time-...

    joda-time-2.3

    Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。 Joda-Time主要的特点包括: 1. 易于使用:Calendar让获取...

    joda-time-1.6.2.jar

    &lt;bean id="jodaTimeFormattingConverter" class="org.springframework.format.datetime.joda.JodaTimeHttpMessageConverter"&gt; &lt;!-- 添加其他已经存在的转换器 --&gt; ``` 这段配置告诉Spring MVC使用...

Global site tag (gtag.js) - Google Analytics