1. Java System.getProperty VS. System.getenv(译)

    2019-06-25 Tue
    By xiayf

    原文:Java System.getProperty vs System.getenv

    1、简介

    Java 应用代码中会自动引入 java.lang 包。这个包包含很多常用的类,包括 NullPointerExceptionObjectMathString 等等。

    其中 java.lang.System 类是一个 final 类,这意味着开发者无法继承它,其所有方法都是静态的(static)。

    System 类中有两个方法,分别来读取系统属性(system properties)和环境变量(environment variables),下面我们来看看这两者的区别。

    2、使用 System.getProperty()

    Java 平台使用一个 Properties 对象来提供本地系统相关的信息和配置 …

    标签: 翻译 Java
  2. Java 单测伴侣 - mockito

    2019-06-17 Mon
    By xiayf

    其实工作以来,我很少写测试/单测代码,一方面是大部分互联网公司团队对测试的要求不高,另一方面是想写好测试代码还挺难的,挺花时间,其中最麻烦的是待测代码可能会访问外部资源(比如数据库、HTTP API),如果不能方便地进模拟访问这些外部资源,那么测试起来会非常麻烦。

    但,对于复杂逻辑,如果不经过严格测试,发布到生产环境,又有些不放心,没底气,或者在代码重构时,如果没有覆盖全面的测试,很难评估代码变动带来的影响。

    直到遇到 mockito,我才觉得是时候认真写写测试代码了。


    mockito 提供两种对象模拟方式:mockspy

    简单来说,mock 模拟的对象是一个完全假的对象,只是具备指定类型的接口,以 java.util.List 为例:

    import static org.mockito.Mockito.mock;
    
    List mockedList = mock(List.class);
    

    虽然 …

    标签: Java mockito 单测
  3. 配置 Maven 自动化构建 protobuf 代码依赖

    2018-05-14 Mon
    By xiayf

    1.pom.xml 中添加如下属性配置:

    <properties>
        <!-- protobuf paths -->
        <protobuf.input.directory>${project.basedir}/src/main/protobuf</protobuf.input.directory>
        <protobuf.output.directory>${project.build.directory}/generated-sources</protobuf.output.directory>
        <!-- library versions -->
        <build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
        <maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
        <maven-dependency-plugin.version>3.0.2</maven-dependency-plugin.version …
    标签: java maven protobuf

Page 1 / 1