擅长:python、mysql、java
<p>pytest的测试套件(类)的设置似乎是从标准python库unittest继承的。有了这个库,这个方法被称为<code>setUpClass</code>,可能应该在其父类上调用相同的方法。但是,由于您使用的是pytest,它似乎没有遵循测试套件的思想,所以我不完全确定这是一个问题。尽管如此,如果该方法应该被调用其他东西,那么它可能是问题的一个根源。你知道吗</p>
<p>在方法<code>setup_class</code>的代码中,将变量<code>m</code>设置为一个值,但该变量仅限于方法的局部范围。只有以前在类的作用域上定义了变量,或者在类的作用域中显式引用了变量,以后才能再次访问该值。你知道吗</p>
<p>例如,您可以简单地将声明移动到类范围中:</p>
<pre class="lang-py prettyprint-override"><code>class testClassForPytest:
m = aClassInstance(classInput)
def test_case_1(self):
#use of the instance m with a method of its class
</code></pre>
<p>在这种情况下,您根本不需要设置方法。如果需要在类声明中不可用的特定输入,也可以直接设置变量:</p>
<pre class="lang-py prettyprint-override"><code> @classmethod
def setup_class(cls):
cls.m = aClassInstance(classInput)
</code></pre>