Как проверить несколько свойств объекта

Я получаю структуру JSON из API, и мне нужно проверить, имеет ли успешный ответ два определенных атрибута с определенными значениями.

Ключевые проблемы:

  1. Я не могу сравнивать весь объект, так как есть некоторые свойства, которые могут меняться с каждым запросом
  2. Я не могу написать два теста (для каждого атрибута ), потому что это может считаться успешным ответом только тогда, когда оба атрибута соответствуют правильным значениям.

Пример успешного ответа:

{
    'success': true,
    'user_ip': '212.20.30.40',
    'id': '7629428643'
}

Грязным решением будет

<?php
public function testAddAccount() {
    $response = $this->api->addAccount( '7629428643' );

    $this->assertTrue(
        $response->success === TRUE &&
        $response->id === '7629428643'
    );
}

Но я думаю, что должно быть лучшее и более чистое решение, не так ли?

7
задан Radek Simko 3 August 2012 в 13:46
поделиться