2011-11-30 53 views
1

我在eclipse中導入的Web項目中工作。如何測試動態web項目?

我想在我的本地計算機上工作並測試它,所以我不希望某些類調用Web服務或運行代碼的某些部分。通知在測試模式下運行的代碼的最佳方式是什麼?我應該創建一個servlet,只是在會話上下文中放置一個測試標誌?或者我應該直接在查詢字符串中調用帶有測試標誌的任何servlet,如http://testserver/application/servlet.do?teste=true,或者有另一種更好的方法來執行此操作。我只想學習最佳實踐。

+0

你沒有登臺/測試/ QA環境嗎? – happymeal

+0

我會在我自己的機器上工作,因爲在企業環境中非常慢,所以回答您的問題我沒有任何其他環境 – tt0686

回答

1

正如happymeal所做的那樣,您最好將所有代碼保留原位,並將其稱爲您提及的Web服務的「測試」版本。

但是,要回答您的問題,您可以在「配置」類中設置一個靜態標誌,並以各種方式進行設置。 設置標誌的一種方法是在服務器命令行上使用-Dmycompany.Configuration.TestMode = true。

示例代碼:

public class Configuration { 
    /** 
    * Whether the app is in test mode. This can be set with a -D at startup or by some 
    * other code calling "setTestMode". 
    */ 
    private static boolean TEST_MODE = Boolean.getBoolean('mycompany.Configuration.TestMode'); 

    public static boolean isTestMode() { 
    return testMode; 
    } 

    public static void setTestMode(boolean b) { 
    testMode = b; 
    } 
} 

要檢查是否在測試模式下的時候,你的代碼可以調用 「isTestMode()」 - 就這麼簡單!

0

我會在我的服務器上放置一個簡單的配置屬性文件,其值爲「測試」。也許在一個jndi屬性文件中。在應用程序啓動時加載該值。這樣,如果我想從「測試」模式切換到「實時」模式,我可以在不必重新構建應用程序的情況下進行更改。