小编bmo*_*oij的帖子

存根时出现 PowerMockito NullPointerException

我想使用以下测试代码对 java.nio.file.Files 中的公共静态函数readAllBytes进行存根。

@PrepareForTest(Files.class)
public void testGetNotExistingRestFile() throws Exception {
    PowerMockito.mockStatic(Files.class);
    PowerMockito.doThrow(mock(IOException.class)).when(Files.readAllBytes(any(Path.class)));
}
Run Code Online (Sandbox Code Playgroud)

每次抛出 NullPointerException 时,我都能找出我做错了什么。

java.lang.NullPointerException
at java.nio.file.Files.provider(Files.java:67)
at java.nio.file.Files.newByteChannel(Files.java:317)
at java.nio.file.Files.newByteChannel(Files.java:363)
at java.nio.file.Files.readAllBytes(Files.java:2981)
at nl.mooij.bob.RestFileProviderTest.testGetNotExistingRestFile(RestFileProviderTest.java:53)
Run Code Online (Sandbox Code Playgroud)

如何使用PowerMockito 从 java.nio.file.Files存根函数readAllBytes ?

java static exception powermockito

5
推荐指数
1
解决办法
9303
查看次数

基于其他风味的 Gradle 风味

有没有可能一种味道是基于另一种味道的?

例如 构建.gradle:

productFlavors {
    flavor1 {
        flavorBase "main"
    }
    flavor2 {
        flavorBase "main"
    }
    flavor3 {
        flavorBase "main"
    }
    flavor4 {
        flavorBase "flavor3"
    }
    flavor5 {
        flavorBase "flavor3"
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android gradle android-productflavors

5
推荐指数
1
解决办法
433
查看次数

比较运算符自定义对象java

是否有插件支持对自定义对象进行比较操作?

我想用这个:

class MyTemperatureObject implements Comparable<MyTemperatureObject> {
    ...
    @Override
    public int compareTo(MyTemperatureObject object) {
       return getValue().compareTo(object.getValue());
    }
}

MyTemperatureObject a;
MyTemperatureObject b;

if (a < b){
    ...
}
Run Code Online (Sandbox Code Playgroud)

这给出了编译错误:

Operator '<' cannot be applied to MyTemperatureObject
Run Code Online (Sandbox Code Playgroud)

但我认为编译器可以使用Comparable接口来评估这一点。或者是否有理由认为这样做不可能或不明智。

我知道我可以使用compareTo函数

a.compareTo(b) < 0
Run Code Online (Sandbox Code Playgroud)

但我认为这更好读/理解

 a < b
Run Code Online (Sandbox Code Playgroud)

java compare operators

2
推荐指数
1
解决办法
2417
查看次数