草庐IT

Fixtures

全部标签

python - pytest fixtures 的范围可以被覆盖吗?

pytest内置fixture的作用域可以改变吗?这行不通:@pytest.fixture(scope="class")defmyFixture(tmpdir):pass...因为tmpdir是函数范围的:ScopeMismatch:Youtriedtoaccessthe'function'scopedfixture'tmpdir'witha'class'scopedrequestobject,involvedfactories是否可以覆盖pytest的内置fixture的范围,以便我可以获得类范围的tmpdirfixture? 最佳答案

python - pytest fixtures 以什么顺序执行?

对于我正在测试的应用程序,我想创建一个autouse=True猴子修补的固定装置smtplib.SMTP.connect如果他们尝试意外发送电子邮件,则测试失败。但是,在我确实希望测试发送电子邮件的情况下,我想使用不同的fixture来记录这些电子邮件(最有可能通过使用smtpserver中的pytest-localserverfixture并猴子修补connect方法来使用该装置返回的主机/端口)当然,只有当autousefixture在另一个fixture(作为funcarg加载)之前执行时才能工作。是否有任何执行固定装置的特定顺序和/或是否有保证执行顺序的方法?

ruby-on-rails - 与 Rails Fixtures 没有关联......如何修复?

我有一个使用rspec/fixtures的Rails5.1项目,我无法让fixture加载与belongs_to/has_one/has_many关联的对象:我请求fixture的对象返回时其_id列填充了看似随机的number和ActiveRecord将关联视为nil。这发生在具有许多关联的大类以及只有几个字段的小数据类上。如果在我的测试代码中,我将这些关联分配给正常的Ruby代码,对象将正常运行并且我的测试通过。但是,当通过固定装置加载相同的数据时,关联的记录不可用,并且需要跨越关联的数据的测试失败。例如,这里有两个受影响的类:#app/models/location.rbclas

ruby-on-rails - Rails fixtures 和命名空间模型 - ActiveRecord::Fixture::FixtureError

在一个应用程序中,我使用Minitest和fixtures完成测试套件,我遇到了这样的问题,我无法解决,也找不到解决方案。我有一个模型Survey和它的固定装置test/fixtures/surveys.yml:one:user:adminname:Surveyonedescription:Thisissurveyonecompany:universityreview_type:1two:user:adminname:Surveytwodescription:Thisissurveytwocompany:university此外,我有命名空间surveys并且有一个问题模型-Surve