2011-04-16 45 views
0

假設您獲得以下測試代碼,其中test1test2方法在grid對象上運行一些測試。使用多個設置重構鼻子測試

N = 10 
grid = Grid(N) 

def test1(): 
    ... 

def test2(): 
    ... 

什麼是增加了工作時N = 11,使同樣的方法測試1和測試2的新對象上運行測試的最佳方式?當然,人們可以簡單地創建像下面

N = 11 
grid = Grid(N) 

def test1(): 
    ... 

def test2(): 
    ... 

但這樣會導致大量的重複代碼的新文件。

回答

1

使用全局變量是設置測試用例的一種粘性方式。你應該把你的測試重構成下面這樣的東西。

def test1(N): 
    grid = Grid(N) 
    ... 


def test2(N): 
    grid = Grid(N) 
    ... 

從那裏,它看起來像你想利用包含在nose看看test generators