Junit单元测试(java unit)

什么是Junit?
JUnit是一个Java语言的单元测试框架,需要程序员自身进行编写测试用例,也称为白盒测试。
Junit的使用?
测试用例(testCase):
@BeforeClass:在所有方法开始前执行,仅仅执行一次。注意:方法必须为静态的。
@Before:在每个方法开始前执行。
@Test:需要加上该注解,junit才会对其进行单元测试。
@After:在每个方法结束后执行。
@AfterClass:在所有方法结束后执行,仅仅执行一次。注意:方法必须为静态的。
@Ignore:对该法进行忽略处理。
测试套件(testSuite):
@RunWith(Suite.class)
@SuiteClasses({DBUtilTest.class, SaxTest.class})
public class TestAll {
}
一个testsuite--->包含多个testcase
一个testcase--->包含多个test
junit结合Spring的使用(junit测试SSH或者SSI):
场景一:
为了测试service层的接口是否正常,需要做很多额外的工作,如部署项目,启动tomcat,访问url,输入信息,点击提交。
场景二:
你仅仅负责service层接口,写完接口后,如何测试接口是否满足要求。
笨方法:
通过main程序来解决场景一,场景二的问题。
在main程序中可以通过new ClassPathXmlApplicationContext()来加载spring配置文件,通过getBean()方法来获取指定的
bean。
推荐的方法:(junit的jar+spring-test.jar)
使用junit解决场景一,场景二问题。

可以继承于:
AbstractTransactionalJUnit4SpringContextTests从而避免测试产生的垃圾数据污染数据库。默认会找transactionManager来管理
事务。
可以通过注解随意指定引用的事务管理器的名字。@TransactionConfiguration(transactionManager="txManager",
defaultRollback=true)
注意:
在含有spring的项目中,配置文件中的bean,如service是不能直接通过 new的方式获取的,应该通过加载配置文件的方式,获取指定的
bean。
补充:
黑盒测试:也叫做功能测试,即对软件的界面及软件的功能进行测试,一般不需要懂代码,只需要了解整个项目的流程和业务即可。
junit支持图形化的测试,如果测试通过则出现绿色的条,不通过则出现红色的条。
junit单元测试中的测试方法不能有参数不能有返回值。
JUnit的口号:Keep the bar green to keep the code clean.
junit断言:
assertEquals("失败提示信息","期望数据","测试数据") 断言获取数据是否与所期望的相等
assertNotNull("失败提示信息","测试数据") 断言获取数据不为null,否则提示错误
assertNull("失败提示信息","测试数据") 断言获取数据是为null,否则提示错误
assertTrue("失败提示信息",测试数据blooean值) 断言获取数据是否为ture,否则提示错误
fail("失败提示信息"); 此方法一般放到异常处,遇到此方法,测试将停止!
assertSame("失败提示信息","期望数据","测试数据") 断言获取数据是否与所期望的相同
当程序出现异常时则junit显示为error,当使用断言并且断言失败时junti显示为failure.
最佳实践:
1.使用JUnit的最佳实践:源代码和测试代码需要分开。
所以可以新建一个名叫test的source folder,用于存放测试类源代码。这样在发布程序的时候测试类的程序就可以丢掉了。
但是这两个文件夹中的类编译出的class文件都会在同一个bin文件夹中。
2.测试类和目标源代码的类应该位于同一个包下面,即它们的包名应该一样。
这样测试类中就不必导入源代码所在的包,因为它们位于同一个包下面。
3.测试类的命名规则:
在要测试的类名之前或之后加上Test。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值