`

Junit4.8之Category

阅读更多
Junit已经更新到4.8.1了,动作还挺快的呀,可能是kent beck发现junit可能有点落后了。
的确,相对于TestNG来说,Junit的确有很多方面的局限,因此近年来,junit升级也变得飞快。
这里有一篇比较Junit与TestNG的文章:http://www.ibm.com/developerworks/cn/java/j-cq08296/

上面的那篇文章讲解了一些关于junit与testNG的区别,其实testNG还有一些很强大的功能,总的来说,TestNG肯定要比Junit强大,但随着junit的不断完善,与TestNG的差距也不是那么明显了,不得不承认,junit很多特性都借鉴了TestNG,包括4.8所更新的Category,先看看官方的例子:

public interface SlowTests {
}

public interface FastTests {
}


public class A {
	@Test
	public void a() {
		fail();
	}

	@Category(SlowTests.class)
	@Test
	public void b() {		
		System.out.println("A b()");
	}
}


@Category( { SlowTests.class, FastTests.class })
public class B {
	@Test
	public void c() {
		System.out.println("B c()");
	}
}


上面的代码很简单,只要一个地方比较特别,那就是@Category,这个注解的作用(原文):
Marks a test class or test method as belonging to one or more categories of tests.
这句英文看起来简单,但又害怕翻译得不准确。那如何进行单元目录测试呢,见下面代码:

@RunWith(Categories.class)//这个地方与一般的套件测试有所不同
@IncludeCategory(SlowTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b and B.c, but not A.a
}


当然junit还有一个注解@ExcludeCategory,用法如下:
@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@ExcludeCategory(FastTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b, but not A.a or B.c
}


4.8就增加了这么一个功能,总的来说,这个功能很不错,尤其测试的功能比较复杂时,知道TestNG的人会发现,它其实与TestNG的分组测试很相似。TestNG在很多方面可以超越Junit,但并不是说Junit就没什么前途,Junit并不需要做得像TestNG那么全面,把常用的功能做好就行了,除非需要非常全面的测试,不然没有必要非要赶上用TestNG不可。
分享到:
评论

相关推荐

    Junit4.8_API_chm

    Junit4.8 API chm Junit4.8 API chm Junit4.8 API chm Junit4.8 API chm Junit4.8 API chm

    junit-4.8.jar.zip

    《Junit 4.8:单元测试框架的深度解析》 JUnit是Java编程语言中广泛使用的单元测试框架,尤其在敏捷开发和持续集成环境中扮演着重要角色。标题中的"junit-4.8.jar.zip"指出我们要讨论的是JUnit 4.8版本,这是该框架...

    JUnit4.8.jar

    JUnit4.8.jar JUnit4.jar

    junit4.8jar包 最新的!!!

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。这里我们讨论的是JUnit 4.8版本的jar包,这是一个更新的版本,意味着它可能包含了修复的问题、改进的功能以及...

    junit-4.8.zip

    `junit-4.8.zip`是JUnit 4.8版本的压缩包,其中包含的核心文件是`junit4.8.jar`,它是JUnit运行库,用于执行编写好的测试用例。 JUnit 4.8是一个重要的里程碑,因为它引入了许多改进和新特性,使得测试更加灵活和...

    junit4.8.jar

    本下载为java开发必备测试工具junit.jar包,JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。...

    Jnuit单元测试PDF教程+Junit4.8 jar

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。本教程将围绕JUnit 4.8版本展开,这个版本在当时是JUnit的一个重要里程碑,引入了许多改进...

    spring4+junit4.8 +多线程TheadTool

    2. **Junit4.8**:JUnit4.8是一个针对Java的单元测试框架,它的主要特性包括注解(@Test)、参数化测试、异常断言等。在测试多线程程序时,JUnit4.8可以帮助我们编写线程安全的测试用例,确保每个线程的行为都符合...

    junit-4.8.jar

    junit-4.8.jar用来测试java的哦,大家都知道的吧。

    JUNIT.4.8 文档、JAR包和ZIP

    在Java世界里,测试是保证软件质量的关键步骤,无论是J2SE(Java标准版)还是J2EE(Java企业版)项目,JUnit都是首选的测试工具之一。通过单元测试,开发者可以针对代码的最小可测试单元进行验证,确保每个模块都能...

    junit-4.8.2-sources.jar

    源代码分析的目标JUnit-4.8.2。http://blog.csdn.net/yqj2065/article/details/39839155

    JUnit4.7,4.8,4.11包及源码

    JUnit 4.8是在4.7基础上的改进,主要提升了对测试类和测试方法的分类支持,通过`@Category`注解,可以将测试分为不同的类别,便于管理和执行。同时,4.8版本增强了异常处理,允许测试方法抛出预期之外的异常时,测试...

    org.junit.source_4.8.1.v4_8_1_v20100427-1100.jar

    在Eclipse中设置查看JUnit源代码所用到的jar。查看:http://blog.csdn.net/xuefeng0707/article/details/9168997

    junit-4.7和4.8和4.9和4.10和4.11和4.11文档和源码

    junit junit-4.7 junit-4.8 junit-4.9 junit-4.10 junit-4.11 junit文档 junitAPI junit源码 junit.jar 包含了junit 5个版本的jar包。各个版面自己感觉差距挺大的,坑到我了,我最后用的4.10,4.9也行,4.11听说不太...

    junit-4.8.2.jar

    junit/junit/ Maven依赖写法: <groupId>junit <artifactId>junit <version>4.8.2 </dependency>

Global site tag (gtag.js) - Google Analytics