Junit调查记录

开发时想测试下的话还要门写个main函数来调用太麻烦了,于是想用用Junit。结果碰到了许多问题。


1.几个Test怎么不按顺序来呢?

import org.junit.Test;

public class JunitDemo {
	@Test
	public void test1(){
		System.out.println("this t1");
	}
	@Test
	public void test2(){
		System.out.println("this t2");
	}
	@Test
	public void test3(){
		System.out.println("this t3");
	}
	@Test
	public void test4(){
		System.out.println("this t4");
	}
	@Test
	public void test5(){
		System.out.println("this t5");
	}
	@Test
	public void test36(){
		System.out.println("this t6");
	}
	
}


我按以上代码进行测试,发现结果为:

反复多次重试仍是如此。为什么呢?百度后我才知道答案,原来这些test方法仍是简单地根据反射API返回的顺序来执行。所以才会出现虽然不按顺序但每次都这么排序的情况。


2.如何让Test按顺序来呢?

有三个注解可供选择:

@FixMethodOrder(MethodSorters.DEFAULT) 

@FixMethodOrder(MethodSorters.NAME_ASCENDING) 

@FixMethodOrder(MethodSorters.JVM) 

分别是默认顺序,方法名排序顺序,按照JVM返回顺序。但当我要实际试试时发现完全用不了,报错是什么情况:


百度后根据位置:org.junit.FixMethodOrder发现我用的Junit没有这货,进一步,我查到排序得要Junit4.11后才支持我用的是Junit4。于是我在http://download.csdn.net/detail/luzle/6915487,下4.11再试。


这回包是有了可还是有错:


我分明找着这货了,为什么报错啊发火


默默的去下源码,顺道试试Maven这个插件的下源码功能:包上右键->Maven->DownLoadSource,然后就是无尽的等待抓狂根本用不了啊,我还不如自己去下源码呢!不过下jar包一般会带的,这个sources就是,直接attachSource到它就行了。


打开源码发现该有的都有啊,那为什么不行呢?搞了老半天无意间Ctrl+Alt+o自动导包后错误就没了!靠原来我先是自动纠错里选的导入包,后一个错误没有纠错。但其实只是缺包而已。


总之我再用Ctrl+Alt+o以外的方法导包我就是狗!


全都正常了但是实测仍不可用!三个注释用后都其结果每次都是不一样的乱序,好吧至少用不用注释是不同的!这个问题以后再研究了,估计是版本太旧。


3.如何只执行单个Test呢?

右键->runConfigration选择TestMethod即可


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值