我有一个具有属性 1、属性 2 和属性 3 的用户对象。我有一个单独的函数来编辑每个属性。因此,我需要测试每个编辑属性功能。因此,我将为成功的属性编辑测试创建 3 个不同的预期数据集。但是,如果我最终添加了第四个属性怎么办?这不会迫使我现在将此属性/值添加到所有其他数据集中吗?我应该只创建 1 个模板数据集文件,然后从文件中提取数据并使用 php 数组数据集吗?这样,如果我添加一个新属性,我就不必修改所有以前的数据集了?
具体例子:
假设我想测试我的编辑电子邮件功能是否正常工作,并且只更改电子邮件。我的设置夹具是:
设置-fixture.xml:
<dataset>
<table name="users">
<column>id</column>
<column>email</column>
<column>password</column>
<row>
<value>1</value>
<value>user1@email.com</value>
<value>password</value>
</row>
</table>
</dataset>
我预期的数据集将是:
编辑电子邮件预期数据集.xml:
<dataset>
<table name="users">
<column>id</column>
<column>email</column>
<column>password</column>
<row>
<value>1</value>
<value>user1-changed-his-email@email.com</value>
<value>password</value>
</row>
</table>
</dataset>
但是,如果我稍后向此用户对象添加另一个名为“notes”的属性,我的设置夹具现在将是:new-setup-fixture.xml:
<dataset>
<table name="users">
<column>id</column>
<column>email</column>
<column>password</column>
<column>notes</column>
<row>
<value>1</value>
<value>user1@email.com</value>
<value>password</value>
<value>notes</value>
</row>
</table>
</dataset>
因此,我还必须在编辑电子邮件功能测试中修改我预期的数据集文件,以包含这个新的“notes”属性。
编辑电子邮件预期数据集.xml:
<dataset>
<table name="users">
<column>id</column>
<column>email</column>
<column>password</column>
<column>notes</column>
<row>
<value>1</value>
<value>user1-changed-his-email@email.com</value>
<value>password</value>
<value>notes</value>
</row>
</table>
</dataset>
我的问题是,如何避免每次添加额外字段时都必须编辑所有预期的数据集?