package?Test;import?static?org.junit.Assert.*;import?javax.annotation.Resource;import?org.junit.Test;import?org.junit.runner.RunWith;import?org.springframework.test.context.ContextConfiguration;import?org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import?com.imooc.aop.StudentDao;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext.xml")public?class?SpringAOPDemo?{ /*@Resource(name="studentDao")*/ @Resource(name="studentDao") private?StudentDao?studentDao; @Test public?void?test()?{ studentDao.save(); studentDao.update(); studentDao.delete(); studentDao.find(); }}java.lang.Exception:?No?runnable?methods at?org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) at?org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) at?org.junit.runners.ParentRunner.validate(ParentRunner.java:416) at?org.junit.runners.ParentRunner.<init>(ParentRunner.java:84) at?org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65) at?org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10) at?org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at?org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at?org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at?org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) at?org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36) at?org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:80) at?org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:71) at?org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:46) at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:522) at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) at?org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)public?interface?StudentDao?{ public?void?save(); public?void?find(); public?void?update(); public?void?delete(); }package?com.imooc.aop;public?class?StudentDaoImpl?implements?StudentDao?{ @Override public?void?save()?{ System.out.println("保存學生......"); } @Override public?void?find()?{ System.out.println("學生查詢......"); } @Override public?void?update()?{ System.out.println("修改學生......"); } @Override public?void?delete()?{ System.out.println("刪除學生......"); }}package?com.imooc.aop.advice;import?java.lang.reflect.Method;import?org.springframework.aop.MethodBeforeAdvice;public?class?MyBeforeAdvice?implements?MethodBeforeAdvice{ @Override public?void?before(Method?method,?Object[]?args,?Object?target)?throws?Throwable?{ System.out.println("前置增強================"); } }<?xml?version="1.0"?encoding="UTF-8"?><beans?xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"????xsi:schemaLocation="????????http://www.springframework.org/schema/beans?????????http://www.springframework.org/schema/beans/spring-beans.xsd????????http://www.springframework.org/schema/aop?????????http://www.springframework.org/schema/aop/spring-aop.xsd">????????????????<!--?配置目標類?-->????????<bean?id="studentDao"?class="com.imooc.aop.StudentDaoImpl" />????????????????<!--?前置通知類型?-->????????<bean?id="myBeforeAdvice"?class="com.imooc.aop.advice.MyBeforeAdvice"?/>????????????????<!--?Spring的AOP??產(chǎn)生代理對象-->????????<bean?id="studentDaoProxy"?class="org.springframework.aop.framework.ProxyFactoryBean">????????<!--?target:代理的目標對象?-->???????? <property?name="target"?ref="studentDao"?/>???????? <!--?proxyInterfaces:代理要實現(xiàn)的接口?-->???????? <property?name="proxyInterfaces"?value="com.imooc.aop.StudentDao"?/>???????? <!--?采用攔截的名稱?-->???????? <property?name="interceptorNames"?value="myBeforeAdvice"?/>????????</bean></beans>
為啥junit測試問題
qq_藍駿毅_04076633
2018-10-03 11:44:22