【问题标题】:Functional test with services API layer and CRM使用服务 API 层和 CRM 进行功能测试
【发布时间】:2016-01-21 17:36:23
【问题描述】:

这是我的项目架构组件:

  • 前端(Drupal crm)
  • Symfony 2 服务(API 层)
  • CRM(商店用户的外部服务)

我想使用codeception 设置功能测试来测试我的应用程序的订阅部分。 现在,这是订阅过程:

1/ 前端显示表单

2/ 提交表单时,数据会发布到服务

3/ 服务与 CRM 建立连接并向前端返回 Json 响应。

4/ 前端重定向并显示成功消息(或错误)。

我需要在运行测试之前清理我的数据(测试是在 /subscription 上进行、填写表格、提交和测试响应)。实际上,如果CRM中存在用户,如果我想测试成功案例,我需要将其删除。 就我而言,我无法在运行测试之前删除特定用户(API 中没有删除用户的路由)。

我怎样才能做到这一点?我不应该有一个独立的数据库来测试这个案例。

【问题讨论】:

    标签: testing automated-tests integration-testing


    【解决方案1】:

    您需要在特征文件中写入背景以删除每个场景的数据。我很快访问了 codeception,它是 BDD 测试框架。

    Feature: Test Subscription 
      As a system admin 
      I want to test subscription system of "APPLICATION NAME"
    
    
      Background:
        Given delete all test data from system
        And test data is delete successfully
    
    Scenario: Create User in CRM
        Given I am logged in as system admin
        When I try to click to new customer
        And Enter ...
        And Enter......
        When I click on customer list
        Then I should see created customer in list
    

    后台将在每个场景之后运行并为您完成工作。

    【讨论】:

    • 谢谢,但我的问题并不是关于框架中的实现。这更像是一个与我的环境有关的架构问题。我将编辑我的问题。
    • 如果你试图在后端做一些事情并使用 BDD,它会让团队成员对删除数据感到困惑。使用背景,每个人都知道你正在删除。
    猜你喜欢
    • 2018-05-18
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2015-11-28
    • 1970-01-01
    相关资源
    最近更新 更多