/** * 存储resource类型的Value是不支持的,特别是LtStoreFile */ public function testStoreResourceTypeValue() { $storeHandle = new LtStoreFile(); $storeHandle->init(); //创建一个resource类型的变量 $res = xml_parser_create(); $this->assertTrue(is_resource($res)); //存到LtStoreFile里去 $storeHandle->add("test_key", $res); //再取出来就变成int型了,只有resource id (一个整数)成功存入了 $valueFromStore = $storeHandle->get("test_key"); $this->assertTrue(is_int($valueFromStore)); //显然他们不相等 $this->assertNotEquals($res, $valueFromStore); }
/** * 测试Value数据类型支持情况 * @dataProvider testValueTypeDataProvider */ public function testValueType($value, $excepted) { for ($i = 0;; $i++) { switch ($i % 10) { case "0": $storeHandle = new LtStoreMemory(); break; case "1": $storeHandle = new LtStoreFile(); break; default: break 2; } $storeHandle->init(); $key = uniqid(); $storeHandle->del($key); $result = $storeHandle->add($key, $value); $this->assertEquals($excepted, $result); if ($result) { $this->assertEquals($storeHandle->get($key), $value); } } }