相关疑难解决方法(0)

InetAddress.getLocalHost()抛出UnknownHostException

我正在不同的操作系统上测试我们的服务器应用程序(编写的Java),并认为由于良好的Java集成,OpenSolaris(2008.11)将是最不麻烦的.事实证明我错了,因为我最终得到了一个UnknownHostException

try {
  computerName = InetAddress.getLocalHost().getHostName();
  if (computerName.indexOf(".") > -1)
    computerName = computerName.substring(0,
        computerName.indexOf(".")).toUpperCase();
} catch (UnknownHostException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

输出是:

java.net.UnknownHostException: desvearth01: desvearth01
    at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
Run Code Online (Sandbox Code Playgroud)

但是,nslookup desvearth01返回正确的IP地址,并按预期nslookup localhost返回127.0.0.1.此外,相同的代码在FreeBSD上完美运行.我不知道OpenSolaris有什么特别之处吗?

任何提示都表示赞赏,谢谢.

java freebsd opensolaris

82
推荐指数
3
解决办法
9万
查看次数

是否可以在PowerMock中对私有静态方法使用部分模拟?

PowerMock主页上的示例中,我看到以下示例,用于部分模拟Mockito的私有方法:

@RunWith(PowerMockRunner.class)
// We prepare PartialMockClass for test because it's final or we need to mock private or static methods
@PrepareForTest(PartialMockClass.class)
public class YourTestCase {
@Test
public void privatePartialMockingWithPowerMock() {        
    PartialMockClass classUnderTest = PowerMockito.spy(new PartialMockClass());

    // use PowerMockito to set up your expectation
    PowerMockito.doReturn(value).when(classUnderTest, "methodToMock", "parameter1");

    // execute your test
    classUnderTest.execute();

    // Use PowerMockito.verify() to verify result
    PowerMockito.verifyPrivate(classUnderTest, times(2)).invoke("methodToMock", "parameter1");
}
Run Code Online (Sandbox Code Playgroud)

但是,当我们希望模拟的私有方法是静态的时,这种方法似乎不起作用.我希望创建一个以下类的部分模拟,并使用readFile方法进行模拟:

package org.rich.powermockexample;

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.List;

import static com.google.common.io.Files.readLines;

public class DataProvider …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito powermock

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

标签 统计

java ×2

freebsd ×1

mockito ×1

opensolaris ×1

powermock ×1

unit-testing ×1