小编rru*_*fai的帖子

图像/图形成形状

我想知道是否有任何方法可以将图像/图形转换为Shape?例如,我可以将摩托车形状的轮廓转换为一个,Shape以便我可以在Java中使用它吗?我知道你可以用普通方块或圆角,多边形等来做.但有没有办法做自定义形状?

java image awt image-processing shape

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

PowerMock的expectNew()并没有按预期模拟构造函数

我正在尝试学习各种模拟库的细节,PowerMock(特别是EasyMock扩展)是下一个列表.我试图模拟一个构造函数,当我尝试复制它们时,提供的示例没有相同的响应.据我所知,它从不嘲笑构造函数,只是继续进行,就像它是正常的一样.

这是测试类:

@RunWith(PowerMockRunner.class)
@PrepareForTest({Writer.class})
public class FaultInjectionSituationTest {

    @Test
    public void testActionFail() throws Exception {
        FaultInjectionSituation fis = new FaultInjectionSituation();
        PowerMock.expectNew(Writer.class, "test")
           .andThrow(new IOException("thrown from mock"));
        PowerMock.replay(Writer.class);
        System.out.println(fis.action());
        PowerMock.verify(Writer.class);
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试用EasyMock.isA(String.class)替换"test",但它产生了相同的结果.

这是FaultInjectionSituation:

public class FaultInjectionSituation {

    public String action(){
        Writer w;
        try {
            w = new Writer("test");
        } catch (IOException e) {
            System.out.println("thrown: " + e.getMessage());
            return e.getLocalizedMessage();
        }
        return "returned without throw";
    }
}
Run Code Online (Sandbox Code Playgroud)

"作家"只不过是一个类的外壳:

public class Writer {
    public Writer(String s) throws IOException {
    } …
Run Code Online (Sandbox Code Playgroud)

java constructor easymock powermock

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

如何使用PowerMock部分模拟公共方法?

以下是我的课

public class SomeClass {
    public ReturnType1 testThisMethod(Type1 param1, Type2 param2) {
        //some code
        helperMethodPublic(param1,param2);
        //more code follows  
    }   

    public ReturnType2 helperMethodPublic(Type1 param1, Type2 param2) {
        //some code            
    }
} 
Run Code Online (Sandbox Code Playgroud)

所以在上面的类中测试testThisMethod()时,我想部分模拟helperMethodPublic().

截至目前,我正在做以下事情:

SomeClass someClassMock = 
    PowerMock.createPartialMock(SomeClass.class,"helperMethodPublic");
PowerMock.expectPrivate(someClassMock, "helperMethodPublic, param1, param2).
    andReturn(returnObject);
Run Code Online (Sandbox Code Playgroud)

编译器没有抱怨.所以我尝试运行我的测试,当代码命中helperMethodPublic()方法时,控件进入方法并开始执行那里的每一行代码.我该如何防止这种情况发生?

java junit partial-mocks powermock

4
推荐指数
1
解决办法
1万
查看次数