1

我有一个具有属性 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>

我的问题是,如何避免每次添加额外字段时都必须编辑所有预期的数据集?

4

0 回答 0