pytest不允许使用非静态方法的类

时间:2017-02-16 11:57:57

标签: python unit-testing oop static-methods pytest

我正在关注pytest的这个教程:

http://doc.pytest.org/en/latest/getting-started.html#grouping-multiple-tests-in-a-class

但注意到如果我创建:

class ComplexTestClass:
    """
    Complex and more nuanced tests for specific sentences
    """
    def test_multiple_sentences():

如果我没有在函数的顶部添加@staticmethod,我会在函数中出现错误,它无法通过()获取并且在我的PyCharm中以红色突出显示。

教程(显示不需要静态方法)是错误的,还是我错了,staticmethod会使我的测试无效?

1 个答案:

答案 0 :(得分:3)

如果您未将self声明为@staticmethod,则需要方法中的def test_multiple_sentences(self): 参数:

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setNavigationIcon(R.drawable.back_arrow); // your drawable
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed(); // Implemented by activity
        }
    });