`

junit 4.4测试

阅读更多

项目中使用junit4.4,虽然一直在用,但对testcase 的执行细节却不大清楚,我做了一些例子来测试一下

JunitTest.java

public class JunitTest extends TestCase{
	
	private Logger logger = Logger.getLogger(JunitTest.class);
	public JunitTest(){
		super("junit test");
		logger.info("junit test contruct");
	}
	public void setUp(){
		logger.info("setUp");
	}
	public void testMethod1(){
		logger.info("method1");
	}
	public void testMethod2(){
		logger.info("method2");
	}
	@Test
	public void method3(){
		logger.info("annotion method3");
	}
	private void testMethod4(){
		logger.info("private method4");
	}
	@Test
	private void testMethod5(){
		// error Test method isn't public 
		logger.info("annotion private method5");
	}
	public void mthod6(){
		logger.info("method6");
	}
	private void mthod7(){
		logger.info("method6");
	}
	public void tearDown(){
		logger.info("tear down");
	}
	
}

 日志输出:

 

01-13 10:58:44,439 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.<init>(JunitTest.java:15) junit test contruct
01-13 10:58:44,439 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.<init>(JunitTest.java:15) junit test contruct
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.setUp(JunitTest.java:18) setUp
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.testMethod1(JunitTest.java:21) method1
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.tearDown(JunitTest.java:45) tear down
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.setUp(JunitTest.java:18) setUp
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.testMethod2(JunitTest.java:24) method2
01-13 10:58:44,455 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.JunitTest.tearDown(JunitTest.java:45) tear down

junit执行结果

   testMethod1   success;

   testMethod2   success;

   warning               这个什么错也没有,我又测试了一下 发现是 testMethod4 的问题

   warning           这个报错了, Test Method isn't public: testMethod5

 

    test 3 没有出现  ,难道junit4中方法必需要有 test前缀吗,

 

    从日志分析: 

        JunitTest  执行了 两次 构造函数,这个原因还不知道,需要看具体的执行代码。

        执行每个TestMethod 时 都会 执行一次setUp() 和 tearDown(); 应该是为method清理环境

        还有 测试方法应该有 test 前缀 ,而且为public

 

乌龙了,确实是junit4的包,不过确实junit3的用法。

 

下面是 junit 4的用法;

 

public class Junittest4 {
	private static Logger logger = Logger.getLogger(Junittest4.class);
	@Before
	public void before(){
		logger.info("before setUp");
	}
	@After
	public void after(){
		logger.info("After teardown");
	}
	public void testMethod1(){
		logger.info("no test annotion public method");
	}
	@Test
	public void Method2(){
		logger.info("test annotion public method");
	}
	@Ignore("not complete")
	@Test
	public void Method3(){
		logger.info("test annotion private method");
	}
	@Test(timeout=5)
	public void testMethod4() throws InterruptedException{
		Thread.sleep(4);
		logger.info("test annotion public has test method");
	}
	@Test(timeout=5)
	public void testMethod5() throws InterruptedException{
		Thread.sleep(5);
		logger.info("test annotion public has test method");
	}
	@Test(timeout=5)
	public void testMethod6() throws InterruptedException{
		Thread.sleep(6);
		logger.info("test annotion public has test method");
	}
}
 

 

   日志输出

 

01-13 11:45:50,502 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.before(Junittest4.java:13) before setUp
01-13 11:45:50,517 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.Method2(Junittest4.java:24) test annotion public method
01-13 11:45:50,517 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.after(Junittest4.java:17) After teardown
01-13 11:45:50,564 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.before(Junittest4.java:13) before setUp
01-13 11:45:50,580 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.testMethod4(Junittest4.java:34) test annotion public has test method
01-13 11:45:50,580 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.after(Junittest4.java:17) After teardown
01-13 11:45:50,580 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.before(Junittest4.java:13) before setUp
01-13 11:45:50,595 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.after(Junittest4.java:17) After teardown
01-13 11:45:50,595 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.before(Junittest4.java:13) before setUp
01-13 11:45:50,611 INFO  test.com.hiksoft.prototype.modules.advancedtemplate.junittest.Junittest4.after(Junittest4.java:17) After teardown

    测试结果

    method2  suucess

    method3  ignore

    method4  success

    method5  fail

    method6  fail

 

分享到:
评论

相关推荐

    junit4.4的最新版本

    在本文中,我们将深入探讨JUnit 4.4这个特定版本,它是JUnit系列的一个重要里程碑,引入了许多增强功能和改进,使得测试工作更为高效。 JUnit 4.4的发布标志着该框架在向更现代化、更灵活的方向迈进。以下是这个...

    junit4.4测试的实例(spring)

    本例介绍了利用了 spring框架进行测试

    junit4.4+junit4.5+开源码打包下载

    "junit4.4+junit4.5+开源码打包下载"这个标题和描述指向的是JUnit的两个版本——4.4和4.5,以及它们的源代码。下面我们将深入探讨JUnit以及这两个版本的关键特性。 **JUnit 4.4** 是JUnit系列的一个重要里程碑,...

    junit4.4 下载

    标题"junit4.4 下载"指的是获取JUnit 4.4版本,这是该工具的一个特定发行版,发布于2007年8月14日。 JUnit 4.4版本包含了多项改进和新特性,使得测试编写更加灵活和高效。以下是一些关键知识点: 1. **注解...

    junit4.4_test

    《深入理解JUnit 4.4:单元测试框架的精髓》 JUnit是Java编程语言中最流行的单元测试框架之一,它的最新版本4.4为开发者提供了强大的测试工具和丰富的功能。本文将详细探讨JUnit 4.4的核心特性、用法以及如何在实际...

    探索 JUnit 4.4 新特性

    总之,JUnit 4.4在注解、参数化测试和异常处理等方面带来了许多改进,使得单元测试更加高效和灵活。同时,结合《Thinking in Java》这样的经典教材,可以帮助开发者深入理解Java编程,提高软件质量。

    junit-4.4包+源码

    首先,`junit-4.4.jar`是JUnit 4.4的库文件,包含了JUnit框架的所有类和方法,开发者可以将其引入项目中,以便编写和执行测试用例。这个版本的JUnit引入了许多新特性,如注解(Annotations)的支持,使得测试用例的...

    Junit4.4 Junit3.8.1

    总之,JUnit 3.8.1和4.4都是重要的单元测试工具,它们在Java开发中扮演着关键角色。理解并掌握它们的不同特性,有助于编写出更加健壮和易于维护的代码。通过提供的`.zip`和`.chm`文件,学习者可以深入研究这两个版本...

    junit4.4

    JUnit 4.4 是一个广泛使用的Java编程语言的单元测试框架。这个版本是RAR格式的压缩包,包含了一系列用于编写和执行单元测试的类库和工具。在Java开发中,单元测试是确保代码质量、可维护性和可靠性的关键实践。JUnit...

    Junit4.4&3.8.1.rar

    3. **规则(Rules)**:JUnit 4.4引入了`@Rule`,允许定义测试规则,如`TemporaryFolder`规则可以在每次测试前后创建并删除临时文件。 4. **假设(Assumptions)**:`Assume`类提供了假设方法,允许在测试开始前...

    junit4.4.jar +easymock3.0.jar

    标题中的"junit4.4.jar +easymock3.0.jar"提及了两个重要的Java测试库:JUnit 4.4和EasyMock 3.0。这些是用于开发过程中的单元测试的关键工具。 JUnit是Java编程语言中最广泛使用的单元测试框架之一。它允许开发者...

    spring3.2.5+springmvc3.2.5+mybatis3.2.2+junit4.4+mysql

    JUnit 4.4版本引入了注解,使得测试类和方法的定义更加简洁,同时也提供了更多的断言方法和测试运行器,便于进行自动化测试。 **MySQL**: MySQL是一种广泛使用的开源关系型数据库管理系统,以其高性能、稳定性及...

    spring-framework-2.5.6 (含junit-4.4.jar、spring-test.jar)

    JUnit 4.4还引入了参数化测试,允许用不同的参数运行同一个测试方法,提高了测试的覆盖率。与Spring Test结合,开发者可以轻松地进行依赖注入的测试,确保每个组件在独立测试时都能正常工作。 Spring Test模块是...

    (java常用工具jar组合)c3p0-0.9.1.2.bin+jackson 2.82+JSTL-jar+junit4.4.jar+gson-2.5.jar

    4. **junit4.4.jar**: JUnit是Java编程语言的一个单元测试框架,版本4.4。它是测试驱动开发(TDD)和行为驱动开发(BDD)的重要工具,帮助开发者编写可重复运行的测试用例,确保代码的质量和稳定性。JUnit 4.4引入了注解...

    junit框架文件包

    在“junit框架文件包”中,提供的主要文件是junit4.4,这代表了JUnit框架的一个特定版本。JUnit 4.4是一个重要的更新,引入了许多改进和新特性,包括: 1. 注解(Annotations):JUnit 4.4引入了注解机制,使得测试...

    Junit框架完整包

    7. **规则(Rules)**:JUnit 4.4引入了测试规则的概念,如`TemporaryFolder`规则,可以自动创建并管理临时文件或目录,确保测试结束后清理资源。 8. **测试监听器**:JUnit支持测试监听器,如`TestWatcher`,可以在...

    junit-4.4.pom

    JUnit是由Erich Gamma和Kent Beck创建的Java单元测试框架。 junit/junit/4.4/junit-4.4.pom

    当你在做软件测试时,你可以试一下这个软件

    总之,"junit4.4"作为一个测试包,为Java开发者提供了强大的单元测试能力。通过学习和使用JUnit,你不仅可以提升个人的编程技能,还能确保所编写的代码达到高质量标准,避免因未检测到的问题而引发的潜在问题。在...

    junit 单元测试

    - 系统需求包括Windows 2000/XP/Vista/Linux操作系统、JDK 5.0、Eclipse 3.3(内含JUnit 4和Ant 1.7)、JUnit 4.4(可选)和Ant 1.7(可选)。 - 可以从指定的Subversion仓库获取示例源代码,便于学习和实践。 - ...

Global site tag (gtag.js) - Google Analytics