• method initializationerror not found:JUnit4单元測试报错问题


           今天使用JUnit 4进行单元測试时,測试程序一直执行不起来,报method initializationerror not found错误。例如以下:

     

             网上说版本号不正确。我试了试,还是有这个问题,后来才知道,缺少了jar包,除了引入junit-4.12.jar之外,还要引入2个依赖jar包:hamcrest-core-1.3.rc2.jar,hamcrest-library-1.3.rc2.jar。提供大家免费的下载链接:

    junit-4.12.jar下载

    hamcrest-library-1.3.rc2.jar下载

    hamcrest-core-1.3.rc2.jar下载

           导入这些jar包之后,问题游刃而解。是的。我承认自己也是JUnit新手吐舌头

           至于JUnit的jar包和hamcrest的jar包关系。下边我引用一位网友的几段话来解释解释:

    junit和hamcrest是两个不同的框架,不同的东西。仅仅只是是junit使用了hamcrest框架而已。

    在junit上下载的junit的包解压开见下图:



    刚下载的JUnit的jar包解压开的文件。

    junit-4.10.jar  :包括junit-dep-4.10.jar所有内容和必要的harmcres的包,

    junit-4.10-src:是源码,但不包括org.harmcres.*相关的源码(在图中temp.hamcrest.source中)。

    junit-dep-4.10.jar :是junit的包,不含harmcres的相关的类,import此包还需引入harmcres相关的包。


    下载到关于hamcrest的相关的一系列的包(假设是java就下载jar的包)


    hamcrest-all-1.3.ORC2.ajr:差点儿包括所有的hamctest的类(没有验证过)。

    hamcrest-core-1.3.ORC2.jar:hamcrest的核心包,使用hamcrest框架必须引入的包。

    (junit官方给的包就包括了该包)

    hamcrest-library-1.3.ORC2.jar:包括各种断言,补充hamcrest core包中的断言。


    使用是导入包的方案:junit.jar + hamcrest-core.jar + hamcrest-library.jar

    或者是:junit-dep.ajr+hancrest-all.jar

    这两种导入方法尽管尽量避免了导入反复的包,但使用时还是遇到了冲突。查看包中各类和文档后发现有些类(比如:断言is())同一时候出如今了org.hamcrest.Mathchers和org.hamcrest.core中,则在用到时候引入的时候须要注意。

     

     

     

     

  • 相关阅读:
    while,dowhile,for循环和forin
    position:fixed;支持ie6,清除e6下抖动。
    数组concat()和slice()方法
    函数内arguments.callee的用法
    [转]十天学习PHP之第六天(PHP)学会添加删除修改数据 (20091125 14:26)
    [转]十天学习PHP之第三天(PHP)学会构建数据库
    [转]十天学习PHP之第二天(PHP)掌握php的流程控制
    php集成软件VertrigoServ(PHP安装)
    [转]十天学习PHP之第一天(PHP)基础知识
    PHP入门
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8405866.html
Copyright © 2020-2023  润新知