我有一个带有属性1,属性2和属性3的用户对象。我有一个单独的函数来编辑每个属性。因此,我需要测试每个编辑属性函数。因此,我将为成功的属性编辑测试创建3个不同的预期数据集。但是,如果我最终添加第4个属性怎么办呢?这不会强迫我现在将此属性/值添加到所有其他数据集中吗?我应该只创建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>
我的预期数据集是:
编辑电子邮件预期-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”的属性,我的设置夹具现在将是: 新设置-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”属性。
编辑电子邮件预期-dataset.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>
我的问题是,每次添加额外字段时,如何避免编辑所有预期的数据集?