public class ClassToTest
{
public List<String> walk(URI path)
{
List<String> directories= new List<String>();
Path share = Paths.get(path);
try
{
Stream<Path> folders = Files.list(share).filter(Files::isDirectory);
folders.forEach(Path -> {
{
directories.add(Path.toUri());
}
});
}
catch (IOException | SecurityException e)
{
System.out.println("Exception in crawling folder:"+path.toString());
e.printStackTrace();
}
return directories;
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest({Files.class, ClassToTest.class })
class ClassToTestUTest
{
@Mock
private Path folder1;
@Mock
private Path folder2;
private ClassToTest underTest;
@BeforeEach
void setUp() throws Exception
{
PowerMockito.mockStatic(Files.class);
}
@Test
void testWalk() throws IOException
{
String sharepath = "\\\\ip\\Share";
Path temp = Paths.get(sharepath);
Stream<Path> folders;
ArrayList<Path> listOfFolders = new ArrayList<Path>();
listOfFolders.add(folder1);
listOfFolders.add(folder2);
folders = listOfFolders.stream();
when(Files.list(any())).thenReturn(folders);
List<String> directories= underTest.walk(temp.toUri());
//Check the directories list.
}
}
java.lang.NullPointerException位于java.nio.file.files.provider(files.java:97),位于java.nio.file.files.newDirectoryStream(files.java:457),位于java.nio.file.files.list(files.java:3451),位于com.classtotestStutest.TestWalk(ClasstotestStutest.java:51)
我发现了许多与嘲笑这个Files类有关的问题。我使用的是PowerMock 2.0.0、RC4和Mockito 2.23.4。
我哪里出错了?
面临着类似的问题。无法理解为什么java.nio.file.files
模拟失败和其他final static方法被模拟。
class ClassUnderTest {
public void methodUnderTest() throws IOException {
//bla bla
Files.lines(null/*some path*/);
//bla bla
return;
}
}
将此更改为
class ClassUnderTest {
public void methodUnderTest() throws IOException {
//bla bla
filesListWrapperMethod(null/*some path*/);
//bla bla
return;
}
@VisibleForTesting
Stream<Path> filesListWrapperMethod(Path path) throws IOException {
return Files.list(path);
}
}
现在,您可以使用mockito.spy()
并模拟特定的API。
我试图开发一个android应用程序与谷歌地图v2,位置服务和一些控制按钮。 我不想把所有这些东西放在一个MainActivity类中,所以我想我可以把所有代码拆分成更多的类。MainActivity将控制所有的GUI内容,并对地图或位置事件做出反应。 现在我有以下问题。在onCreate中,我实例化了其他类: 带有findFragmentById的行是导致异常的行。我认为这是因为片段管理器无法访
问题内容: 当我尝试运行项目时,Tomcat返回异常。 有人可以帮助解决这个问题吗?配置类:https : //github.com/intrade/inventory/blob/master/src/main/java/com/springapp/mvc/InitApp/SecurityConfig.java 堆栈跟踪: 安全过滤器出现问题。项目链接:GitHub 问题答案: 该问题与SEC-2
igor@igor:~/hellowworld$cordova模仿android 运行命令: /home/igor/hellowworld/platforms/android/cordova/run--emulatorANDROID_HOME=/usr/本地/android-sdk-linux/工具JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 警告:未指定
我正在尝试使用此程序来计算 D:\ 中的所有文件驱动器,但当我运行它时它抛出异常。
我试图测试调用接口方法时是否传递了正确的值。我得到以下错误: org.mockito.exceptions.misusing.未完成验证异常:缺少的方法调用验证(mock)在这里:- 正确验证示例:验证(模拟)。doSomething() 此验证行上正在抛出错误:
问题内容: 我的日历有问题。这是代码: 不能运行我的项目,因为在AndroidStudio显示错误,等…我得到nullPointException在模拟器运行时 它说 必须是以下之一:java.util.Calendar.DAY_OF_MONTHjava.util.Calendar.MONTH等… 我不明白此错误,因为它是其中之一 我有进口 对不起,我错过了它的初始化,但是还有另一个我想使用Cal