- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白 FactoryBoy + Django 中的teardown
是如何工作的。
我有一个这样的测试用例:
class TestOptOutCountTestCase(TestCase):
multi_db = True
def setUp(self):
TestCase.setUp(self)
self.date = datetime.datetime.strptime('05Nov2014', '%d%b%Y')
OptoutFactory.create(p_id=1, cdate=self.date, email='inv1@test.de', optin=1)
def test_optouts2(self):
report = ReportOptOutsView()
result = report.get_optouts()
self.assertEqual(len(result), 1)
self.assertEqual(result[0][5], -1)
setUp
为所有测试运行一次是否正确?现在,如果我进行第二次测试并且在运行之前需要一个干净的状态,我该如何实现这一点?谢谢
最佳答案
如果我理解正确的话,在这种情况下您不需要 tearDown
,因为在每次测试之间重置数据库是 default behaviour对于测试用例
。
参见:
At the start of each test case, before setUp() is run, Django will flush the database, returning the database to the state it was in directly after migrate was called.
...
This flush/load procedure is repeated for each test in the test case, so you can be certain that the outcome of a test will not be affected by another test, or by the order of test execution.
或者您的意思是将通过 OutputFactory
创建实例限制为某些测试?
那么你可能不应该将实例的创建放入setUp
中。
或者您创建 TestCase 的两种变体,一种用于所有依赖工厂的测试,另一种用于不依赖工厂的测试。
<小时/>关于tearDown
的使用,请检查这个答案:Django when to use teardown method
关于django - 工厂男孩 : how to teardown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937219/
public function tearDown() { $this->browse(function (Browser $browser) { $br
从Xcode 10.1(也许是10)开始,当我创建单元测试文件时,我没有调用super.tearDown()和super.setUp()。 我没有在发行说明中看到这种变化。 在文档中https://d
我想知道在 PHPUnit_Framework_TestCase 和 children 的 tearDown 方法中将变量设置为 null 是否只是一种形式 或服务于某些实际目的。 例子: prote
我不明白 FactoryBoy + Django 中的teardown 是如何工作的。 我有一个这样的测试用例: class TestOptOutCountTestCase(TestCase):
我想知道在 PHPUnit_Framework_TestCase 和 children 的 tearDown 方法中将变量设置为 null 是否只是一种形式 或服务于某些实际目的。 例子: prote
我在试用版测试套件中发现了一个问题,在出现超时之前一切正常。如果测试由于超时而失败,则永远不会调用 tearDown 函数,从而使 react 堆不干净,进而导致其余测试失败。我认为 tearDown
我试图找到我的 .Net 代码用来提醒 Visual Studios 测试失败、通过或被忽略的值。我希望能够使用它来确定我们数据库中的基本跟踪测试是否通过或失败。 但是,如果没有在每个测试的末尾放置一
我认为 tearDown() 应该在每次测试后运行,但我从日志中看到它是在 setUp() 方法之后启动的。你们能解释一下吗? public class LaunchManagerActivityTe
我有多个测试用例,即使逻辑不同,所有测试用例的输出也必须相等。所以我在考虑如何概括它们并仅放置一次 Assert 方法。 有没有比这个更好的办法: static public class Tests(
我想显式“释放”Unity 解析的对象实例。我希望 Teardown 方法应该完全用于此目的,所以我尝试了这样的方法: container.RegisterType(typeof(IMyType),
我是 selenium webdriver 的新手。我尝试在两个浏览器上运行 Testng 测试并行,但我遇到了以下错误。当尝试运行时。 package rough; import org.testn
tearDownClass() 和 tearDown() 方法有什么区别? 我在哪里可以找到两者的文档。 JUnit 的 junit.org 文档仅列出了 tearDown() 而不是 tearDow
有多种设置:创建应用程序驱动程序、创建虚拟设备、进行登录。 一些测试用例只需要应用程序驱动程序,一些需要应用程序驱动程序和登录,一些需要应用程序驱动程序和设备,其他测试用例使用所有三个。 如何制作类似
我正在尝试在失败的测试结束时截取屏幕截图 我做了一些有用的事情,但是有一个问题:它会截取失败后发生的每个测试的屏幕截图 - 例如:1.测试通过:无截图2.测试失败:截图3.测试通过:截图- 所以在第一
我有设置和拆卸方法的单元测试,如下所示: def setUp(self): self.foo = "bar" self.bar = "foo" def tearDown(self):
最近,Ned Batchelder 在 his talk at PyCon 2016注意: If you are using unittest to write your tests, definit
是否有在测试场景开始/结束时触发的函数? setUp 和 tearDown 函数在每次测试之前/之后触发。 我通常想要这个: class TestSequenceFunctions(unittest.
我们设置了一个 WCF 服务,它使用 Unity 容器来解析用于管理 Exchange 2010 Powershell 命令的实例。我们定义了一个 IExchangePowershell 接口(int
假设我有实体在其工作期间创建 SVN 分支。为了执行功能测试,我创建了多个几乎相同的方法(我使用 python unittest 框架,但问题与任何测试框架相关): class Tester(unit
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我是一名优秀的程序员,十分优秀!