2014-07-09 61 views
0

我被問到一個問題,我不知道答案。 他問我。使用單個數據庫連接運行測試套件

  • 我有5個測試套件(每個測試套件必須寫在硒許多測試用例)
  • 我想開一個數據庫只有一次,運行所有測試套件。

我該怎麼做?

請幫忙, 謝謝, JB。

+0

有一個類實現連接到數據庫的單例設計模式 – singe3

回答

0

singe31是正確的。我之前完成了這個工作來完成這件事。

C#

public class DataAccessObject 
    { 
     private static DataAccessObject _dataObject = null; 
     private static readonly object _lock = new object(); 
     public static DataAccessObject dataObj { 
      get { 
       lock (_lock) { 
        if (_dataObject == null) { 
         _dataObject = new DataAccessObject(); 
        } 
        return _dataObject; 
       } 
      } 
     } 

     private DataAccessObject() 
     { 
      //populate your _dataObject in here 
     } 
    } 

然後在你的代碼,你可以讓你的DataAccessObject平等的實例,以公共財產private DataAccessObject _dataObject = DataAccessObject.dataObj

這將命中屬性和拉在內存只讀值,並將其分配到你的本地變量。如果它已經存在,那麼它只是拉內存中的內容,否則它將實例化一個新實例並返回它,下一次測試將獲得內存中的一個。

如果你想同時使用2,那麼_lock就是用於線程目的。它會鎖定一個訪問權限並導致另一個開始前等待完成。這樣,你只能實例化一次,而不是冒着腐敗的風險進行重寫。

相關問題