posts - 156,  comments - 601,  trackbacks - 0

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

          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 }

          實現(xiàn)比較簡單,只需要注意以下兩點:

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

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

          源碼下載: 下載

          Good Luck!
          Yours Matthew!




          posted on 2011-02-27 19:15 x.matthew 閱讀(1950) 評論(2)  編輯  收藏 所屬分類: Spring|Hibernate|Other framework
          主站蜘蛛池模板: 清镇市| 托克托县| 姚安县| 临朐县| 普陀区| 上栗县| 慈溪市| 华容县| 石林| 尼勒克县| 敦化市| 洛扎县| 连南| 丹寨县| 富平县| 杭锦旗| 岢岚县| 五河县| 松滋市| 安溪县| 房山区| 工布江达县| 双城市| 长海县| 区。| 惠州市| 正镶白旗| 晋州市| 西华县| 静安区| 中方县| 张家口市| 平顶山市| 新源县| 晋中市| 吉安县| 电白县| 湖北省| 通城县| 成都市| 井研县|