ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

自己写一个JUnit3-day0

2021-02-23 11:34:57  阅读:169  来源: 互联网

标签:java JUnit3Demo jar 自己 day0 JUnit3 junit


JUnit是一个著名的单元测试框架。老版本的3.*是基于反射原理,源码也很简单,可以先自己做一个JUnit3,然后再根据源码改进自己的JUnit。   需要的基础:     1.java基础     2.通过反射实例化,且调用实例的方法     3...       day0 下来了解一下JUnit3怎么使用。 关键点有:1.必须继承TestCase,2.方法名以test为前缀,非test前缀需要在执行时指定方法名,3.方法必须为public,返回值为void   在IDEA里,添加junit3的依赖或导入jar以后,右键运行该类。     然鹅,这样的运行方式是错误的。虽然结果是成功了,但是并非是按照预料的使用了JUnit3.*,而是使用了IDEA内置的JUnit4,具体可以查看控制台第一行输出的内容的黑体部分  

"C:\Program Files\Java\jdk1.8.0_141\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=62797:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 ...此处有省略... com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 wangc.JUnit3Demo

  使用IDE能够极大的方便开发过程,但是一些高度集成的功能导致我们不容易理解一些基础原理。所以,我们使用IDE写,然后手工编译运行。 lib:jar包(如果需要在idea中运行,需要在Project Structure中配置Libraries。手工编译运行则不需要配置相关) src:源码目录   新建JUnit3Demo.java
public class JUnit3Demo extends TestCase {
 
    public void testAdd1(){
        System.out.println("this is testAdd1");
    }
 
    public void testAdd2(){
        System.out.println("this is testAdd2");
    }
 
}

 

  然后,打开命令提示符(或Shell终端),进入src目录,然后执行编译javac
D:\workspace_HelloWorld\HelloWorld_JUnit3>javac  -encoding UTF-8 -classpath "lib/junit-3.8.2.jar" -d ./out src/com/wangc/day0/JUnit3Demo.java

然后运行java

D:\workspace_HelloWorld\HelloWorld_JUnit3>java -classpath "./out;lib/junit-3.8.2.jar" junit.textui.TestRunner com.wangc.day0.JUnit3Demo

(乌鸦注:关于javac和java的运行参数-encoding、-classpath、-d 此处按下不表,可自行百度)

  好,成功使用JUnit3做了两个单元测试。 可以看到,最后我们其实是运行的JUnit提供的主类 junit.textui.TestRunner,我们自己写的业务类是作为一个参数传递的。所以,必须要了解一下反射的基本操作。                                      

标签:java,JUnit3Demo,jar,自己,day0,JUnit3,junit
来源: https://www.cnblogs.com/wang1537/p/14435056.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有