昨天很奇怪的发现junit上面的annotation都没有生效,然后也看不出来问题,最后检查是发现我使用的是junit4,但是继承了TestCase,在继承了TestCase后好像所有的注解都会生效。
总结一句就是junit4不能继承TestCase。
什么时候有时间了看下源码,我感觉它应该是根据发射如果发现是TestCase的子类,那么就按照junit3的方式进行处理了。
下面再列举下junit3和4的区别:
这两个版本最大的区别在JUnit3.x中测试必须继承
TestCase,并且每个方法名必须以test
开头。比如:testMethod1()而在JUnit4
.x中不必继承
TestCase,采用了注解的方式。只要在测试的方法上加上注解@Test
即可,从而不必再遵循以前的一些显式约定和反射定位测试;在JUnit4
.x中如果继承
了TestCase,注解就不起作用了。并且有很重要的一点就是在JUnit4
.x中继承
了
TestCase后,在OutLine视图中测试单个方法时,结果整个类都run
了。还有一点就是,在3.x中需要实现setUp和tearDown方法,而在4.x中无需这样,可以自定义需要在测试前和测试后的方法,在方法前加上
@before,@after就可以了。所以在JUnit4
.x不必继承
TestCase用注解即可对单个方法进行测试。
JUnit3 |
JUnit4
|
必须引入类TestCase
import junit.framework.TestCase; |
必须引入
import org.junit.Test
;
import static org.junit.Assert.*; |
必须
继承
类TestCase
class BaseClassTest extends TestCase |
不需要 |
测试方法必须以test
开头
public void testMethod () |
不需要,
但是类开始的时候要标记 @Test
|
通过assert*方法来判断结果
assertTrue(baseClass.method ().equals(“test
.junit.BaseClass”)); |
分享到:
相关推荐
并且会针对测试用例的设计及单元测试常会遇到的一些困难等问题做一个全面的探讨。 引言 单 元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本。能被称为测试的阶段有:单元测试、集成测试、系统测试...
改代码是我的我的一个项目自己写完后自测所以就写了这个junit的单元测试类,以及可能会遇到的一些问题,以及其中的一些经验,项目用的是spring + mybatis。我写的这个测试类基本概括了单元测试的基本用法,只要按照...
这两种导入方法虽然尽量避免了导入重复的包,但使用时还是遇到了冲突。查看包中各类和文档后发现有些类(例如:断言is())同时出现在了org.hamcrest.Mathchers和org.hamcrest.core中,则在用到时候引入的时候需要注意...
将数组b按照冒泡排序后与数组a比较,看assertEquals(str1,str2)的测试是否通过,如果通过,说明排序方法是正确的;否侧,跟踪进行修正
内容实际Java开发中单元测试常遇到的问题JUnit4的新特性和扩展机制JUnit4扩展的实现通过测试用例实例展示JUnit扩展的执行效果结论参考资料简介: 在采用测试驱动开发的项目中,有一个经常困扰开发者的问题是:当...
junit-4.12_lib相关jar包, 可解决如下问题: Junit单元测试遇到的initializationerror:method initializationerror not found
初学者在学习MyBatis框架时,会遇到环境配置问题,因为缺少JRA包导致的,只要加上所有的驱动包,就能解决问题。
初次写testsuite会遇到“NO runnable methods”,添加@Test也没有解决问题,看了多个文档实例,终于解决了这个问题,愿意跟大家一起分享,添加了资源分2分,迫于我去下载资源跟我要分啊。java源代码。
注意:这仅能处理目前最简单的用例,一旦我在现实生活中遇到问题,便会添加额外的测试场景。消耗转换通过dotnet-xunit-to-junit JUnit.xslt dotnet-xunit-to-junit NuGet包使用JUnit.xslt dotnet-xunit-to-junit是...
就像 JUnit 一样,虽然很多人都在用,但我没有遇到什么问题需要用这个东西来解决,也就不觉得它有什么用了。但前段时间第一次用 struts 2 整合 hibernate 写一个小小的书店租赁管理系统时出了好些问题,输出语句添了...
4. 运行Junit测试报错java.io.FileNotFoundException: class path resource [mybatis-config.xml] cannot be opened because it:java.io.FileNotFoundException: class path resource [mybatis-config.xml] cannot ...
下载搭建即可用,本人没积分了,把自己最新搭建的框架上传共享,搭建过程中遇到什么问题,可以找我。
如果您在使用Docker进行测试时遇到以下任何情况,则该库有望为您提供帮助: 编排多个服务并将端口映射到Docker计算机外部,以便可以在测试中进行断言 需要知道服务何时启动,以防止由于启动速度慢或服务依赖关系...
记得以前面试的时候,面试官问我,...我们常使用的就是 Junit 框架,说到测试,我之前一直没搞清楚,直到现在才有点头绪,不知道你们会不会遇到这种问题,在测试中若是涉及到 find 方法还好,但是涉及到修改数据的操作
myeclipse+maven+ssm+log4j+junit4+oracle框架搭建。适合学习这个框架的初学者学习,都是本人亲自搭建测试,在搭建中遇到了很多问题,本人都一一解决并成功完成测试。主要遇到的问题包括: 1:maven下oraclejar包的...
Maven、SSM整合Redis,这是自己架构的框架,中间遇到不少的问题,大约弄了三天的时间才解决各种问题,这个里面包括Maven、SSM、Junit、PageHelper、通用Mapper、Restful风格的代码、是一个很简单的项目,只是为了把...
最近在学习开发一个小程序,过程中遇到了许多bug,今天便开始将这些遇到的问题以及寻得的解决办法记录下来,以便日后的学习。也希望对读者有所帮助。 昨天在使用mybatis查询的时候出现了返回结果为null,报错具体情况...
使用spring + atomikos+druid配置的分布式事务demo,两种数据源配置方式都可以,使用junit测试没问题,案例中使用的mysql数据库是8.0.11版本,版本不同请自行修改pom.xml和jdbc.properties
写代码是每个程序员最乐意做的事,然而在开发中也会遇到很多令程序员很头疼的事情。如果说让程序员最头疼的事情是看到无数bug、软件的发布遥遥无 期,那么让程序员最最头疼的事情是程序在调试状态下没有问题然而在...