【发布时间】:2020-06-08 17:49:52
【问题描述】:
我有一个静态函数如下:想用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;
}
我为此测试创建了一个 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 类返回一个带有值集的对象数组并检查值吗?
这是测试数组对象的好方法还是另一种测试数组对象的方法?
有什么帮助吗?
【问题讨论】:
标签: php arrays unit-testing phpunit