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
          主站蜘蛛池模板: 柞水县| 滕州市| 阜阳市| 宁强县| 云龙县| 浮山县| 遂川县| 翁源县| 平罗县| 合肥市| 古蔺县| 宝兴县| 泸州市| 古丈县| 西华县| 定远县| 台湾省| 兴仁县| 天等县| 齐齐哈尔市| 双牌县| 隆尧县| 嘉黎县| 怀远县| 苏尼特右旗| 启东市| 修文县| 宣武区| 忻城县| 正定县| 萝北县| 永兴县| 泾川县| 崇礼县| 静安区| 漳州市| 上蔡县| 德清县| 逊克县| 门头沟区| 和林格尔县|