【问题标题】:Persisting test data across apps跨应用持久化测试数据
【发布时间】:2011-08-25 08:49:20
【问题描述】:

我的 Django 网站有两个应用程序 - AuthorsBooks。我的Books 应用程序有一个模型,该模型在Authors 中有一个模型的外键。我对Authors 应用程序进行了一些测试,该应用程序测试了我所有的模型和管理器,并且效果很好。但是,我的应用程序 Books 需要来自 Authors 应用程序的一些数据才能运行。

我可以指定我的测试运行的顺序,并使从应用程序Authors 生成的测试数据保持不变,以便我可以测试我的Books 应用程序,而不必复制从@987654330 生成数据的测试@应用程序。

我可能做错了。我是吗?

谢谢。

【问题讨论】:

    标签: python django unit-testing testing integration-testing


    【解决方案1】:

    创建一个包含您需要的测试数据的fixture。然后,您可以为 AuthorsBooks 测试加载相同的数据。

    详情请见docs on Testcase.fixuresIntroduction to Python/Django tests: Fixtures

    【讨论】:

    • 我认为固定装置对于简单的单元测试来说工作得很好,但我认为当我编写一个大型集成测试时它不能满足我的目的。我正在使用请求模块向我的应用程序发出请求,然后检查是否已将正确的数据输入到数据库中,检查表单是否确实验证了所有内容等。所以这并不是只测试模型或测试的简单测试管理器,但它会测试 URL 配置、视图、表单、管理器和模型的所有内容,即整个堆栈。希望我已经足够明确了。谢谢肖恩。
    猜你喜欢
    • 2011-07-29
    • 2010-12-01
    • 1970-01-01
    • 2021-03-25
    • 2010-09-28
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多