プロパティ 1、プロパティ 2、およびプロパティ 3 を持つユーザー オブジェクトがあります。各プロパティを編集するための個別の関数があります。したがって、各編集プロパティ関数をテストする必要があります。そのため、プロパティの編集が成功したかどうかをテストするために、予想される 3 つの異なるデータセットを作成します。しかし、最終的に 4 番目のプロパティを追加するとどうなりますか? これにより、このプロパティ/値を他のすべてのデータセットに追加する必要がなくなりますか? 1 つのテンプレート データセット ファイルを作成し、そのファイルからデータを抽出して、php 配列データセットを使用する必要がありますか? このように、新しいプロパティを追加すると、以前のデータセットをすべて変更する必要がなくなりますか?
具体例:
メールの編集機能が正しく機能し、メールのみを変更することをテストしたいとしましょう。私のセットアップフィクスチャは次のとおりです。
setup-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>
そして、私の予想されるデータセットは次のようになります。
edit-email-expected-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>
したがって、この新しい「メモ」プロパティを含めるには、電子メール編集機能のテストで予想されるデータセット ファイルを修正する必要もあります。
edit-email-expected-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>
私の質問は、追加のフィールドを追加するたびに、予想されるすべてのデータセットを編集する必要がないようにするにはどうすればよいですか?