나는 self를 사용하여 다른 클래스 내에서 함수를 호출하는 방법의 예를 보았다. 하지만 문제는 BDD를 사용하는 내 지형 파일에 클래스 정의가 없다는 것입니다.기능 파일 내에서 별도의 클래스에서 함수를 호출하는 방법은 무엇입니까?
다른 언어로 작성된 경우 New 연산자를 사용하여이 연산자를 호출하고 메서드를 사용할 수 있습니다.
파이썬을 사용하여이를 수행하는 방법을 잘 모르겠습니다.
클래스 :
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
더 초기화 평 파일이 없습니다. init .py 파일을 만들고 기능 파일에서 클래스에 대한 가져 오기 경로를 지정해야한다고 생각합니까?
그래서 클래스 정의가없는 클래스 내에서 다른 클래스를 인스턴스화하는 방법을 알아야합니다. 예를 들어 addressbook.py 클래스를 살펴보면 다른 클래스를 인스턴스화하는 방법을 알 수 있습니까? kb.froglogic.com/display/KB/...
나는 당신이 정확하게 뭘하려고하는 무엇인지 이해하기 힘든 시간을 보내고 있습니다. 나는 정기적으로 BDD 테스트를하고 있으며, 난 당신의 어려움이 어디에 있는지 잘 모르겠다. 귀하의 단계 기능 샘플을 보여줄 수 있으며 작동하지 않는 코드를 정확히 설명 할 수 있습니까? – idjaw
답장을 보내 주신 @idjaw님께 감사드립니다. 제가 한 일은 테스트 된 위의 메서드를 사용하고자하는 단계와 같습니다. 이것은 모든 기능 파일에서 사용할 중간 계층 클래스가 될 것입니다. 임 클래스 파일의 개체를 만드는 방법을 잘 모르고 피처 파일에서 테스트 된 메서드를 사용합니다. 이해합니까? – Sam
그것이'tested' 메소드를 호출하는 데 어려움을 이해하지 못하는 부분입니다. 'Test'를'Test()'로 호출함으로써 파이썬에서 클래스를 인스턴스화합니다. 그래서,'test_obj = Test()','test_obj.tested (arg1, arg2)'입니다. 이 외에도, 나는 당신이 성취하고자하는 것을 이해하는 데 어려움을 겪고 있습니다. – idjaw