`
zbg1983
  • 浏览: 39180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

比JUnit4更酷的Annotation @Test(checkMethod="xxx")

阅读更多

如果你看过p-unit如何测试Vector#add(Object)是线程安全的,就可以体会到p-unit如何适合多线程测试。
如果你觉得check_testAdd不符合你的编程风格的话,现在你可以使用 Annotation来表示check方法了,这就是@checkMethod Annotation, 上一篇文中的例子将写成:
public class VectorTest extends TestCase {
    public static void main() {
       ConcurrentRunner runner = new ConcurrentRunner();
       runner.setMethodFilter(new AnnotationMethodFilter());
       runner.run(VectorTest.class);
    }
    private Vector _vector = new Vector();
  
    @Test(checkMethod = "checkAdd")
    public void testAdd() {
        _vector.add(new Object());
    }

    public void checkAdd() {
        assertEquals(10, _vector.size());
    }
}
上 面例子中@Test表示该方法为测试案例,checkMethod表示该方法对应的检查方法,这在某种程度上帮助你将测试逻辑和断言(assert部分) 分离。 p-unit 核心部分支持jdk >= 1.3 因此内建标准的method filter还是根据test的命名规则,test开头以及check_前缀做为该test的check方法。为了使用Annotation,只需加入下 面一行代码:
       runner.setMethodFilter(new AnnotationMethodFilter());
这也使得你可以定制自己的命名规则,嵌入p-unit内核。体会到p-unit酷的部分了吗?

另外,p-unit支持@Test(expected=Throwable.class),这点和JUnit 4完全一样。
该功能不包含在p-unit-0.10 release中,将在下一个版本中包含该功能,或者你可以check out svn最新代码来抢先体验该功能。

p-unit 主页: http://p-unit.sourceforge.net
p-unit 下载: p-unit-0.10 release

分享到:
评论

相关推荐

    Junit4教程

    JUnit4是JUnit框架的一个重要版本,相较于之前的版本,它引入了许多新特性,尤其是利用Java 5中的注解(Annotation)功能来简化测试代码的编写过程。注解是一种元数据,用于描述程序中的元素如类、方法或变量等,...

    JUnit4单元测试入门详解.pdf

    JUnit 4是该框架的一个重要版本,它利用Java 5的注解(Annotation)特性极大地简化了测试用例的编写过程。 在介绍JUnit 4之前,我们先来看一下JUnit 3的测试用例编写方式。在JUnit 3中,单元测试的编写需要遵循一定...

    JUnit_jiaocheng

    JUnit4是JUnit测试框架的一个重大升级,它最大的特点是利用了Java 5中的注解(Annotation)特性简化了测试用例的编写过程。注解在Java中可以视为一种元数据,即用来描述其他数据的数据。这种机制使得开发者可以通过...

    junit4.8.1

    1. **注解驱动测试**:JUnit 4引入了注解(Annotation)的概念,使得测试类和方法的声明更加简洁。例如,`@Test`注解用于标记测试方法,`@Before`和`@After`注解分别用于在每个测试方法之前和之后执行的初始化和清理...

    junit测试案例程序

    除了基础的JUnit用法,更高级的特性包括异常测试(使用`assertThrows()`检查预期的异常)、定时测试(`@Test(timeout = XXX)`限制测试方法的执行时间)以及测试套件(`@Suite`注解组合多个测试类)。学习这些高级...

    JUNIT环境搭建明细DOC和自己做的PPT

    JUnit作为Java的单元测试工具,使用注解(Annotation)和断言(Assertion)来定义和执行测试用例,确保代码的正确性。 **步骤一:安装JUnit** 在开始搭建JUnit环境之前,你需要确保已经安装了Java Development Kit...

    testng介绍

    - `测试方法`: 源文件中带有@Test annotation的Java方法。 - **生命周期管理**: 提供了丰富的注解如@BeforeXXX和@AfterXXX,帮助开发者管理测试的生命周期。 #### 二、TestNG的核心概念 1. **Suite**: - 定义在...

    Spring+Junit4进行接口测试实例代码

    Spring+Junit4进行接口测试实例代码 Spring 是一个流行的 Java 应用程序框架,它提供了一个强大的测试框架,称为 Spring Test Framework,该框架可以与 JUnit 集成,以便对应用程序进行测试。在这个实例中,我们将...

    calculadora-JUnit4-basico:使用JUnit basico进行计算

    JUnit 4是JUnit系列的一个版本,它引入了注解(Annotation)的概念,使得编写测试用例更加简洁直观。例如,`@Test`注解标记在方法上表示这是一个测试方法,`@Before`和`@After`则分别用于在每个测试方法执行前和执行...

    客户关系管理系统框架搭建(二)

    <tx:annotation-driven transaction-manager="txManager"/> * 创建dao层共同的接口,放置在cn.itcast.crm.dao下 public interface ICommonDao<T> { public void save(T entity); } * ...

    SpringBoot实现发送邮件任务

    import org.springframework.test.context.junit4.SpringRunner; import javax.mail.internet.MimeMessage; import java.io.File; @RunWith(SpringRunner.class) @SpringBootTest public class ...

Global site tag (gtag.js) - Google Analytics