Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在pytes中测试类的继承方法
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>{<cd1}:</p> <pre><code>class House: def is_habitable(self): return True def is_on_the_ground(self): return True </code></pre> <p><code>conftest.py</code>:</p> ^{pr2}$ <p><code>test_house.py</code>:</p> <pre><code>class TestHouse: def test_habitability(self, house): assert house.is_habitable() def test_groundedness(self, house): assert house.is_on_the_ground() </code></pre> <p>到目前为止,一切都在测试中。在</p> <p>现在我添加一个子类并重写<code>house.py</code>中的方法:</p> <pre><code>class House: def is_habitable(self): return True def is_on_the_ground(self): return True class TreeHouse(House): def is_on_the_ground(self): return False </code></pre> <p>我还在<code>conftest.py</code>中为该类添加了一个新的fixture:</p> <pre><code>import pytest from house import House from house import TreeHouse @pytest.fixture(scope='class') def house(): return House() @pytest.fixture(scope='class') def tree_house(): return TreeHouse() </code></pre> <p>我在<code>test_house.py</code>中为tree house添加了一个新的测试类:</p> <pre><code>class TestHouse: def test_habitability(self, house): assert house.is_habitable() def test_groundedness(self, house): assert house.is_on_the_ground() class TestTreeHouse: def test_groundedness(self, tree_house): assert not tree_house.is_on_the_ground() </code></pre> <p>在这一点上,代码可以工作,但是有些情况还没有经过测试。例如,为了完成,我需要再次测试从<code>TreeHouse</code>中的<code>House</code>继承的方法。在</p> <p>从<code>TestHouse</code>重写相同的测试不会是干的。在</p> <p>如何在不复制代码的情况下测试<code>TreeHouse</code>(在本例中是<code>is_habitable</code>)的继承方法?在</p> <p>我希望使用与超级类运行相同的测试来重新测试<code>TreeHouse</code>,而不是针对新的或重写的方法/属性。在</p> <p>经过一番研究,我遇到了矛盾的来源。在阅读了pytest文档之后,我无法理解适用于这个场景的是什么。在</p> <p>我对pytest的<strong>pytest</strong>方法感兴趣。请参考文件并解释如何适用于此。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用<a href="https://docs.pytest.org/en/latest/parametrize.html" rel="nofollow noreferrer">pytest parameterization</a>将多个参数传递给同一测试,在这种情况下,参数很可能是正在测试的类。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何为此数据帧创建散点图?
3 回答
如何为此编写Django模板
3 回答
如何为此表达式编写正则表达式?
1 回答
如何为步进电机选择合适的值?
1 回答
如何为每15分钟间隔的日期时间行(在新列中)添加标签?
7 回答
如何为每一列创建汇总表?
5 回答
如何为每一组groupbyPandas做滚动“得到假人”
6 回答
如何为每一行分别运行函数(python)?
2 回答
如何为每一行生成一个随机数?
4 回答
如何为每一轮将pytorch模型输出存储到numpy
7 回答
如何为每个.py-fi文件创建单独的zip文件
3 回答
如何为每个<li class=”“><a>找到最近的上述同级<li>?
10 回答
如何为每个CSV列生成特定的文件?
1 回答
如何为每个csv文件使用read_csv,即使它是空的?PythonPandas
1 回答
如何为每个CSV文件创建单独的Pandas数据帧并给它们起有意义的名称?
7 回答
如何为每个datetime和每个id创建一行?
6 回答
如何为每个Django型号选择赋予不同的颜色
7 回答
如何为每个Django模型实例安排一个周期性的芹菜任务?
1 回答
如何为每个Django视图设置一个装饰器?
5 回答
如何为每个for循环迭代分配变量
2 回答