IAm*_*aja 5 java junit annotations
为了设计尽可能重用的组件,我最近想到了所谓的"适配器注释"的可能性.通过这个,我的意思是将经典的AdapterOO模式应用于Java注释.例如,假设我有一个完全基于JUnit的单元测试套件.我需要注释我的所有测试方法如下:
public class WidgetTest
{
@Test
public void test_WidgetConstructor()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果在用1000个测试类创建测试套件后,我决定开始使用一些全新的超酷测试框架进行单元测试,该框架要求所有测试方法都注释如下:
public class WidgetTest
{
@SuperCoolUnitTest(someParam="true")
public void test_WidgetConstructor()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在这个特定的例子中,搜索n替换旧注释的旧注释可能是完全可行的,但在实际应用中,这不是一个可行的解决方案.
那么我可以用自己开发的东西"包装"我的单元测试注释,例如:
public class WidgetTest
{
@HomegrownUnitTestAnnotation
public void test_WidgetConstructor()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
然后建立自己的注解处理器,将转换的情况下,@HomegrownUnitTestAnnotation取其注释目前,我需要(或@Test或@SuperCoolUnitTest(someParam="true"))?
显然,这个问题适用于所有注释,而不仅仅是JUnit提供的注释.我基本上是在考虑是否有可能为了可重用性/分离关注/等而包装第三方注释.提前致谢!
看一下 Spring 的元注释。在我看来,这就是您正在寻找的概念:http://blog.springsource.com/2009/05/06/spring-framework-30-m3-released/。
您也许可以将相同的概念应用到您自己的应用程序中。
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |