posts - 156,  comments - 601,  trackbacks - 0

           本文是針對 之前的通過Spring2.5對單元測試的Annotation支持進行TDD開發 進行擴展,增加了Struts Action層的測試實現。

          Action的測試代碼編寫如下:以WalMartAction為例
           1 public class WalMartAction {
           2 
           3     private SuperStore superStore;
           4 
           5     @Override
           6     public String toString() {
           7         return new ToStringBuilder(this).append("superStore", superStore)
           8                 .toString();
           9     }
          10 
          11     /**
          12      * @param superStore the superStore to set
          13      */
          14     public void setSuperStore(SuperStore superStore) {
          15         this.superStore = superStore;
          16     }
          17     
          18     public String list() {
          19         Collection<Commodity> commodities = superStore.getCommodities();
          20         System.out.println(commodities);
          21         
          22         return "SUCCESS";
          23     }
          24     
          25 }

          針對該Action編寫的測試代碼如下:
           1 @RunWith(SpringJUnit4ClassRunner.class)
           2 @ContextConfiguration(locations = {"classpath:/applicationContext-test.xml"})
           3 @TestExecutionListeners({DependencyInjectionTestExecutionListener.class})
           4 public class WalMartActionTest extends AnnotationStrutsSpringTest {
           5     
           6     private WalMartAction testAction;
           7 
           8     @Before
           9     public void setUp() {
          10         testAction = getProxyAction(WalMartAction.class);
          11         Assert.assertNotNull("TestAction should not null", testAction);
          12     }
          13     
          14     @After
          15     public void tearDown() {
          16         testAction = null;
          17     }
          18     
          19     @Test
          20     public void executeTestActionList() {
          21         System.out.println(testAction.list());
          22         
          23     }
          24     
          25 }

          實現比較簡單,只需要注意以下兩點:

          1. 測試類必須繼承 AnnotationStrutsSpringTest. 該代碼在附件中
          2. 通地
          getProxyAction來構建Action類實例

          這樣雖然Action沒有注入到Spring容器,也可以通過 getProxyAction方法,實現Spring容器的屬性依賴注入實現。

          源碼下載: 下載

          Good Luck!
          Yours Matthew!




          posted on 2011-02-27 19:15 x.matthew 閱讀(1950) 評論(2)  編輯  收藏 所屬分類: Spring|Hibernate|Other framework
          主站蜘蛛池模板: 阿拉善盟| 惠安县| 吕梁市| 林州市| 福贡县| 肃宁县| 彭州市| 根河市| 融水| 江源县| 灵璧县| 宝兴县| 柳河县| 临泉县| 宜都市| 云梦县| 花垣县| 诸城市| 东港市| 昌吉市| 于田县| 巴青县| 延吉市| 西安市| 周口市| 泽州县| 腾冲县| 茶陵县| 贵德县| 武平县| 惠东县| 武安市| 嘉鱼县| 自贡市| 石柱| 柏乡县| 屏东市| 阜南县| 庆安县| 上犹县| 龙游县|