如何使用Spring AOP建议JUnit方法

时间:2014-03-31 19:46:14

标签: spring junit spring-aop

我有一个扩展AbstractTransactionalJUnit4SpringContextTests的类。我想为每个子类建议@Before方法。 但是在我的Aspect类中,我无法注入任何这些实例。我查看了在应用程序上下文中创建的bean,但我看不到任何测试bean。那么我怎样才能得到它们或者春天如何创造这些豆类?

@ContextConfiguration(locations = {"/test-context.xml"})
    public abstract class Ab extends AbstractTransactionalJUnit4SpringContextTests {
}

public class MyTests extends Ab {
    @Before //I want to advice this
    public void before() {}
}

@Aspect
public class BeforeTestsAspect {
    @Autowired //it won't find any bean of type Ab
    private Ab ab;
}

1 个答案:

答案 0 :(得分:0)

你应该看一下使用aspectj而不是spring aop有一个很好的例子来说明如何设置它here

aspectj允许您切入应用程序中的任何类或测试不仅仅是由spring创建的类。