У меня есть функция stati c, приведенная ниже: хочу протестировать эту функцию, используя PHPUnit
One. php:
static function myArray(myArrays $one) {
$data = [
"Name" => "name",
"id" => "_id",
"addressLine1" => "address1",
"town" => "town",
"district" => "district",
"country" => "country",
"mobile" => "mobile_number",
"email" => "email",
"url" => "_url"
];
$output = [];
foreach ($data as $myDatas => $value) {
if ($one->truthy($myDatas)) {
$field = $one->getField($myDatas);
$output[$value] = $field;
}
}
$output['country'] = strtolower($oneninetwo->getField("countryCode", ""));
return $output;
}
I создали файл JSON для этих тестов:
{
"success":true,
"data":{
"id":"0001",
"name":"Pizza",
"addressLine1":"001 Down Town",
"addressLine2":null,
"addressLine3":null,
"country":"AU",
"countryCode":"au";
"mobile":0123456789,
"email":"test@test.com"
}
}
Мои тесты:
public function testmyArray() {
$mockreg = $this->getMockRegistry();
$json = file_get_contents(__DIR__."/src/myjson.json");
$data = json_decode($json, true);
$name = $data['data']['name'];
$addressLine1 = $data['data']['addressLine1'];
$addressLine2 = $data['data']['addressLine2'];
$addressLine3 = $data['data']['addressLine3'];
$mobile = $data['data']['mobile'];
self::assertEquals($name, "Pizza");
self::assertEquals($addressLine1, "001 Down Town");
self::assertNull($addressLine2);
self::assertTrue(is_numeric($mobile));
$test = new class() extends One{
function __construct() {
$this->myArray();
----
}
};
}
Теперь хочу проверить, класс One
возвращает массив объектов с установленным значением и проверить значения?
Это хороший способ проверки или другой способ проверки объектов массива?
Любая помощь?