2016-01-21 80 views
0

功能测试这里是我的项目体系结构组件:与服务API层和CRM

  • 前端(Drupal的CRM)
  • 的Symfony 2个服务(API层)
  • CRM(外部服务来存储用户)

我想设置功能测试与codeception测试订阅我的应用程序的一部分。 现在,这里是为订阅的过程:向服务于前端

1 /显示形式

2 /当表单提交数据是交

3 /服务建立Connexion公司与CRM并返回一个Json响应到前端。

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

我需要清理我的数据之前运行我的测试(测试是得到/订阅,填写表格,提交和测试响应)。事实上,如果一个用户存在于CRM中,我需要删除它,如果我想测试一个成功案例。 在我的情况下,我没有办法在运行我的测试之前删除特定的用户(API中没有路由来删除用户)。

我该如何做到这一点?我不应该有一个分离的数据库来测试这种情况。

回答

0

您需要在功能文件中编写背景以删除每种场景的数据。我很快访问了代码,它是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 

背景将每个场景后运行,并为你做的工作。

+0

谢谢,但我的问题不是真的关于在框架中的实现。这对我的环境来说更多的是一个建筑问题。我会编辑我的问题。 –

+0

如果您正在尝试在后端执行某些操作并使用BDD,则会将团队成员混淆删除数据。使用背景大家都知道你正在删除。 –