有人可以解释在Python中对象名称之前有前导下划线的确切含义吗?另外,解释单个和双重前导下划线之间的区别.此外,无论所讨论的对象是变量,函数,方法等,这个含义是否保持不变?
是否有可能创建一个抽象TestCase,它将有一些test_*方法,但这TestCase不会被调用,那些方法只会在子类中使用?我想我将TestCase在我的测试套件中有一个摘要,它将被子类化为单个接口的一些不同实现.这就是为什么所有测试方法都是一些,只有一个内部方法发生变化的原因.我怎么能以优雅的方式做到这一点?
我正在尝试从 cmd 运行 pytest ,当我执行pytest Login.py时,我得到了这个结果:
================================================== warnings summary ===================================================
C:\automation\test\test.py:36
C:\automation\test\test.py:36: PytestCollectionWarning: cannot collect test class 'TestMain' because it has a __init__ constructor (from: Login.py)
class TestBase():
-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================================= 1 warning in 59.69s =================================================
Run Code Online (Sandbox Code Playgroud)
在 Login.py 中,我有一个导入,我认为这可能是问题所在,但我需要该导入来进行测试。有谁知道如何解决这一问题?