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
          主站蜘蛛池模板: 南汇区| 木里| 池州市| 忻州市| 台东县| 桐柏县| 墨竹工卡县| 乌审旗| 运城市| 卓资县| 繁峙县| 大安市| 栖霞市| 水富县| 礼泉县| 天柱县| 离岛区| 麻阳| 二连浩特市| 永福县| 平果县| 固镇县| 连江县| 磐石市| 昌吉市| 大港区| 开江县| 上饶县| 区。| 司法| 益阳市| 抚顺市| 基隆市| 柘城县| 青海省| 宣恩县| 石屏县| 洛宁县| 万宁市| 罗甸县| 高台县|