Python 如何从要素文件中的独立类调用函数?

Python 如何从要素文件中的独立类调用函数?,python,bdd,Python,Bdd,我已经看到了如何使用self在另一个类中调用函数的示例。但问题是我使用BDD的功能文件没有类定义 如果这是在另一种语言中,我将能够使用新操作符调用它,并使用其中的方法 我不确定如何使用Python实现这一点 类别: class Test: def __init__(self, test): self.test= Test('fdfdf') def tested(self, testa, testb): return self.test(testa

我已经看到了如何使用self在另一个类中调用函数的示例。但问题是我使用BDD的功能文件没有类定义

如果这是在另一种语言中,我将能够使用新操作符调用它,并使用其中的方法

我不确定如何使用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
没有init.py文件。我想我需要创建一个init.py文件,并指定从要素文件到类的导入路径


因此,我需要了解如何在没有类定义的类中实例化另一个类,例如,如果查看addressbook.py类,我将如何在该类中实例化另一个类?kb.froglogic.com/display/kb/…

Behave使用导入的方式稍有不同,因此我做了以下工作:

from steps.test import Test

 test = Test()

我很难理解你到底想做什么。我经常做BDD测试,我真的不确定我是否理解你的困难所在。你能展示你的step函数的一个例子,并在你的代码中准确地解释什么不起作用吗?@idjaw谢谢你的回答,我所要做的就是在一个步骤内,比如我想使用上面所说的tested方法。这将是一个中间层类,将由所有功能文件使用。我只是不确定如何创建类测试的对象并在功能文件中使用测试的方法,你明白吗?这就是调用
tested
方法的困难所在。只需将
Test
调用为
Test()
,即可在Python中实例化一个类。所以,
test\u obj=test()
,然后
test\u obj.tested(arg1,arg2)
。除此之外,我很难理解您试图完成的任务。@idjaw谢谢,但是当我使用这个test_obj=test()时,test()显示为未解析的引用,我是否需要以某种方式导入该类?或者是因为测试类在步骤文件夹中,而功能不在该文件夹中,所以无法识别它OK。你的问题与你试图解释的完全不同。现在很难给您一个明确的错误答案,但是请确保,是的,您已经正确地导入了包含要实例化和测试的类的模块。此外,您要确保没有任何“名称阴影”。e、 g.意外使用与您尝试导入的模块名称匹配的名称,从而导致此错误。此外,您还需要确保正确导入工作目录。