2011-10-27 54 views
0

在測試一個網站,我最終得到真正長的類文件測試網站的很多不同部分。我可以將它們分成不同的類,但是我需要傳遞瀏覽器對象,看起來像是額外的開銷。我還可以添加一個「代碼文件」,我認爲這個代碼文件可以包含在我正在工作的主類中,並具有它的功能。什麼是正確的方式來分解一個大的C#類文件到更小的文件?Watin C#類越來越大,最好的方法是什麼

+0

你需要根據他們的域進行邏輯分區。在其他說明中:我會推薦代碼生成器。 – DarthVader

+0

你是從Page類派生出來的,並將你的頁面邏輯放在這些類中,對吧?如果沒有,請仔細檢查,因爲這是一個巨大的幫助。 – OCary

回答

2

正如你所說,你的班級「測試很多網站的不同部分」爲一個網站的單個部分製作一個班級。例如,您可以採取兩個步驟進行重構。 1.使用partial關鍵字將課程分成幾個文件。 2.逐步刪除部分和重命名類名稱accroding其響應性。

3

我會將它們分成按類似功能分組的文件,並使用partial關鍵字。

而且 -

如果你的類越來越那麼大,我懷疑你是它裝載了太多的責任。

1
Whats the right way to break up a big c# class file into smaller files? 

它把它分爲單獨的類。

一個類應該有一個目的,一個方法應該做一個單一的動作,好的代碼應該解釋自己。

0

我們在我們的項目中有超過250個測試。我們最初使用部分類,但發現找到一個特定的測試運行痛苦,所以我們的結構類是這樣的: -

- class Base 
    - class Site1 
    - class LoginTests 
     - ValidLogin() 
     - InvalidLogin() 
    + class MyAccountTests 
    + class MiscTests 
    - class Site2 
    + class LoginTests 
    + class MyAccountTests 
    + class MiscTests 
    - class Site3 
    + class LoginTests 
    + class MyAccountTests 
    + class MiscTests 

然後,在通過測試名稱在VS他們組的測試視圖窗口,這將告訴你...

- Site1.LoginTests 
    - ValidLogin 
    - InvalidLogin 
+ Site1.MyAccountTests 
+ Site1.MiscTests 
+ Site2.LoginTests 
+ Site2.MyAccountTests 
+ Site2.MiscTests 
+ Site3.LoginTests 
+ Site3.MyAccountTests 
+ Site3.MiscTests