2017-03-19 65 views
0

我見過如何使用self在另一個類中調用函數的示例。但問題是我使用BDD的功能文件沒有類定義。如何從功能文件中的單獨類調用函數?

如果這是另一種語言,我將能夠使用New運算符調用它並使用它的方法。

我不確定如何使用Python來做到這一點。

類:

class Test: 
    def __init__(self, test): 
     self.test= Test('fdfdf') 

    def tested(self, testa, testb): 
     return self.test(testa,testb) 

如果我想要一個功能文件,我怎麼會叫上面的.feature只包含的步驟,如@given等測試方法中使用呢?

編輯:

目前我的項目結構是這樣的:

├── project 
│  ├── steps 
│   ├── classes.py 
│   
└── .feature files 

沒有初始化 .py文件。我想我需要創建一個init .py文件並指定從該特性文件導入到該類的路徑?

所以我需要了解如何在類中沒有類定義的情況下實例化另一個類,例如,如果查看addressbook.py類,我將如何實例化另一個類? kb.froglogic.com/display/KB/...

+0

我有一個很難理解它是什麼你究竟要怎樣做。我經常做BDD測試,我只是不確定我是否明白你的困難所在。你能否顯示你的步驟函數的樣本,並在你的代碼中解釋什麼是不工作? – idjaw

+0

@idjaw謝謝你的回答,所有我想要做的是在一個步驟內,例如給定我想要使用上面稱爲測試的方法。這將成爲所有功能文件將使用的中間層類。我只是不確定如何創建類的對象測試和使用功能文件中的測試方法,你明白嗎? – Sam

+0

這就是我不瞭解調用'測試'方法的困難。你只需通過調用'Test'作爲'Test()'來在Python中實例化一個類。所以,'test_obj = Test()',然後'test_obj.tested(arg1,arg2)'。除此之外,我很難理解你想要完成什麼。 – idjaw

回答

1

舞動採用進口方式略有不同,所以我做:

from steps.test import Test 

test = Test() 
相關問題