当我尝试使用带有JMockit的模拟文件时,我得到一个NullPointerException:

package com.metamolecular.poobah.test;

import java.io.File;

import junit.framework.TestCase;

import mockit.Expectations;

import mockit.Mocked;

public class MockedFileTest extends TestCase

{

@Mocked File file;

public void testMockedFileCanBeUsed1() throws Exception

{

new Expectations()

{

{

file.list();

result = null;

}

};

file.list();

}

public void testMockedFileCanBeUsed2() throws Exception

{

new Expectations()

{

{

file.list();

result = null;

}

};

file.list();

}

}

我的输出是:

[java] 1) testMockedFileCanBeUsed2(com.metamolecular.poobah.test.MockedFileTest)java.lang.NullPointerException

[java] at java.io.FilePermission.init(FilePermission.java:193)

[java] at java.io.FilePermission.(FilePermission.java:249)

[java] at sun.net.www.protocol.file.FileURLConnection.getPermission(FileURLConnection.java:198)

[java] at sun.net.www.protocol.jar.JarFileFactory.getPermission(JarFileFactory.java:124)

[java] at sun.net.www.protocol.jar.JarFileFactory.getCachedJarFile(JarFileFactory.java:94)

[java] at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:50)

[java] at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104)

[java] at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:132)

[java] at java.net.URL.openStream(URL.java:1010)

[java] at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1232)

[java] at mockit.internal.ClassFile.readClass(ClassFile.java:55)

[java] at mockit.internal.ClassFile.createClassFileReader(ClassFile.java:44)

[java] at mockit.internal.ClassFile.(ClassFile.java:72)

[java] at mockit.internal.RedefinitionEngine.restoreOriginalDefinition(RedefinitionEngine.java:316)

[java] at mockit.internal.state.MockFixture.restoreAndRemoveRedefinedClasses(MockFixture.java:174)

[java] at mockit.internal.state.SavePoint.restoreClassesRedefinedAfterSavepoint(SavePoint.java:77)

[java] at mockit.internal.state.SavePoint.rollback(SavePoint.java:57)

[java] at mockit.internal.state.SavePoint.rollbackForTestClass(SavePoint.java:89)

[java] at mockit.integration.TestRunnerDecorator.updateTestClassState(TestRunnerDecorator.java:54)

[java] at mockit.integration.junit3.internal.JUnitTestCaseDecorator.runBare(JUnitTestCaseDecorator.java:81)

[java] at com.metamolecular.poobah.test.Main.main(Main.java:45)

[java]

[java] FAILURES!!!

[java] Tests run: 2, Failures: 0, Errors: 1

[java]

只有在调用testMockedFileCanBeUsed2时才会发生错误。如果只运行一个测试,则不会抛出任何错误。我在测试套件中看到了这种行为 - 换句话说,如果我在测试套件中使用一次模拟文件,那么使用模拟文件的其他测试套件也会抛出。

不熟悉JMockit,我可能只是在做一些愚蠢的事情 - 但我还没有看到过我用过的其他模拟对象。

有任何想法吗?

JAVA格式代码出现两次_NullPointerException使用JMockit测试Mocked java.io.File两次相关推荐

  1. Latex关键词(key words)的基本格式代码(加粗、斜体、空白行+首段空两格)

    Latex关键词(key words)的基本格式指令(加粗.斜体.空白行+首段空两格) 在用英文写report或reference时keywords是必不可少的.Abstract和keywords这种 ...

  2. java 编写代码_如果您在2015年编写过Java代码-这是您不容错过的趋势

    java 编写代码 去年我们有机会遇到的最有趣趋势的实用概述 在这篇文章中,我们回顾了构成我们2015年对话的5个主题和新发展.与其他许多年终总结保持较高水平的不同,我们将做一个更实际的操作不用流行语 ...

  3. java 编写代码_Java 7:如何编写非常快速的Java代码

    java 编写代码 当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类. 我在一系列微基准测试中分析了ThreadLocalRan ...

  4. 【Java后台】Java执行Python代码的3类5种情况测试【Java源码+Python源码举例】

    1.why python拥有的某些库要比Java强大,也拥有一些比Java更擅长的领域,python可以搭建后端让Java调用接口,但某些时候我们用到的python代码可能并不多也许只有一个算法,此时 ...

  5. java 编写代码_如果您在2016年编写过Java代码-这是您不容错过的趋势

    java 编写代码 2016年最有趣的Java相关主题 关于代码,有很多热门话题,而要跟上所有事情,这是一项全职的工作. 如果您想知道如何从谷壳中分离出小麦,我们已经为您完成了工作. 在下面的文章中, ...

  6. java考察代码_一段简单的关于字符串的 Java 代码竟考察了这么多东西

    下面的代码运行结果是什么?解释一下为什么会有这些差异. String s1 = "hello"; String s2 = s1 + ",world"; Stri ...

  7. 用java有理数类包含加减乘除_用java具体代码实现分数(即有理数)四则运算

    用java具体代码实现分数(即有理数)四则运算 1,背景 Java老师布置了一个关于有理数运算的题目,因为参考书上有基本代码,所以自己主要是对书上代码做了一点优化,使其用户交互性更加友好以及代码封装性 ...

  8. 分数四则运算java_用java具体代码实现分数(即有理数)四则运算

    用java具体代码实现分数(即有理数)四则运算 1,背景 Java老师布置了一个关于有理数运算的题目,因为参考书上有基本代码,所以自己主要是对书上代码做了一点优化,使其用户交互性更加友好以及代码封装性 ...

  9. 经典KMP算法C++与Java实现代码

    前言: KMP算法是一种字符串匹配算法,由Knuth,Morris和Pratt同时发现(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.比 ...

最新文章

  1. 划重点!十分钟掌握牛顿法凸优化
  2. mysql 并发_mysql如何处理高并发
  3. 用netsh自动切换IP
  4. 学C语言办公本和游戏本,为什么不建议买游戏本?入手前须知,别只看中游戏...
  5. 中科大在50年代的教学理念
  6. java 品尝饮料,java细节经典题型
  7. 【R】数据框data.frame的基本操作【1】
  8. java凉的可能性,薄荷凉茶一凉到底
  9. leetcode python3 简单题231. Power of Two
  10. 面试热身:5 亿整数的大文件,排个序 ?
  11. mpls--通过全局路由表和静态路由的因特网接入
  12. 打开桌面计算机投屏到扩展屏,无线投屏新玩法——Windows电脑扩展屏幕投屏
  13. 拉普拉斯逆变换matlab,利用MATLAB实现拉普拉斯变换及其逆变换.doc
  14. TeX排版系统安装使用
  15. 日语学习软件推荐——五十音图APP:AI纠正你的日语发音
  16. 想要快速增肌?肌酸可以帮你高效获得肌肉和力量
  17. 看了下华为工资,我不加班了
  18. Android 设置向导启动分析
  19. 前端开发之字体大小px,em,rem,pt
  20. 忠实通物流信息管理系统

热门文章

  1. 实验:4级流水线32bits全加器
  2. centos7 安装gitea使用
  3. 笔记 09-集合(HashSet HashMap TreeMap) 练习
  4. 臭打游戏的看过来!Windows 11 22H2 这波加强直接起飞
  5. Ubuntu 20.04 LTS (Focal Fossa) OVF 模板下载 百度网盘
  6. VMware如何导出和导入OVF文件
  7. R plot图片背景设置为透明_数据科学06 | R语言程序设计模拟和R分析器
  8. 26个思维转换,实现跨越式成长
  9. 计算机考研有什么公众号,大学生应该关注的公众号有哪些推荐?
  10. 为什么有网络微信却显示未连接服务器,设备公众号显示未连接,为什么公众号设备显示未连接?...