【问题标题】:What should get tested in Symfony2 application?在 Symfony2 应用程序中应该测试什么?
【发布时间】:2015-04-10 11:58:09
【问题描述】:

我对 Web 应用程序上的代码测试感到困惑(测试新手)。 我的应用程序是非常简单的 crud 仪表板。我有用户、组织、组织联系人和组织场所。可以为用户分配一个组织,之后他可以编辑组织信息、CRUD 联系人和地点。

在这样的应用程序中应该测试什么?这里没有复杂的逻辑。控制器操作获取存储库、查询记录、显示列表、显示编辑表单、保存实体。我的表单类型很少,实体很少,安全选民也很少。

我应该用单元测试来测试每个表单类型、选民、实体,还是应该多做一些,用功能测试来检查所有这些的配合?

Web 应用程序中的单元测试应该涵盖哪些内容以及功能测试应该涵盖哪些内容?

如果实体 getter 设置器除了设置值之外没有其他逻辑,是否值得测试它们?

【问题讨论】:

  • 很难说。你可以测试一切。当您将添加一些功能时,最好使用单元测试来维护您的项目。您可以测试您的输出,您可以访问或不可以访问的页面。有很多可能的测试。

标签: php unit-testing symfony phpunit


【解决方案1】:

在这样的应用程序中应该测试什么?

安全性(FosUserBundle 配置?)、性能(大容量情况)、极端情况、正常情况。

您希望您的网络应用程序安全、足够快且稳定。

如果没有逻辑,是否值得测试实体 getter setter 除了设置值?

您应该在创建实体(Doctrine 标签 问题)以及在它们之间添加一些属性或关系时(多对多 等)测试您的实体。 ..)。

Web 应用程序中的单元测试应该涵盖哪些内容以及哪些内容 通过功能测试?

您必须测试您承诺提供的所有功能。

关于单元测试,您应该查看已完成的特定代码。 例如,您不需要在实体中测试由 Doctrine 生成的 getter,但如果您实现复杂的 Doctrine Query using its AST,则需要对其进行测试。

【讨论】:

    【解决方案2】:

    Symfony's Best Practices 中所述,您应该首先测试您的页面是否加载成功。

    在计算机软件中,这种测试称为冒烟测试,包括“初步测试,以揭示严重到足以拒绝预期软件版本的简单故障”。

    这些是我在每个项目中添加的第一个测试,通过这样做,我通常会找到更多要添加的测试。

    【讨论】:

      猜你喜欢
      • 2018-10-26
      • 1970-01-01
      • 2018-11-25
      • 2011-09-15
      • 2021-04-06
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 2015-04-26
      相关资源
      最近更新 更多