While testing a piece of code(written as per codeigniter mvc) with PHPUnit i got the error PHP Fatal error: Call to a member function getPermissionObject() on a non-object. The code is as below and the part of it producing error is indented.
class Some_model extends Model
{
var $userid;
var $permisson_object;
var $username;
var $userType;
var $userFirstName;
function Some_model()
{
parent::Model();
$user_obj = @unserialize($this->db_session->userdata('user_object'));
//following line shows error
$this->permisson_object = $user_obj->getPermissionObject();
$this->userid = $user_obj->getUserid();
$this->username = $user_obj->getUsername();
$this->userType =$user_obj->getusertype();
$this->userFirstName = $user_obj->getFirstName()." ".$user_obj->getLastName();
}
}
Hata çünkü benim tetclass dan $user_obj oluşturmak için alamıyorum test ederken geldi. (o seesion verilerden üretilir gibi)
Benim gereksinimi i kullanabilirsiniz böylece deney Sınıfı aynı üretmektir.
herhangi bir vücut bunun için bir çözüm varsa paylaşın lütfen.
teşekkürler
teşekkürler for your reply
ama clueless.the nesne şöyle duyuyorum
User_library Object
(
[username:User_library:private] => staff@some.com
[firstname:User_library:private] => some
[lastname:User_library:private] => Staff
[typename:User_library:private] =>
[userid:User_library:private] => 2
[userType:User_library:private] => 2
[permissionObject:User_library:private] => Permission_library Object
(
[create_custom_attr:Permission_library:private] => 1
[create_jobspecific_attr:Permission_library:private] => 0
[injob:Permission_library:private] => Array
(
[products] => 2
[services] => 2
[options] => 2
[tasks_assigned_to_me] => 2
[tasks_assigned_to_others] => 2
)
[outjob:Permission_library:private] => Array
(
[products] => 2
[services] => 2
[options] => 2
[tasks_assigned_to_others] => 2
)
[samedept:Permission_library:private] => Array
(
)
[alldepts:Permission_library:private] => Array
(
[add_and_assign_tasks] => 4
[add_and_assign_milestones] => 4
)
)
ben bu alay için herhangi bir seçenek bulmuyorum. Bu nesne aynı zamanda diğer nesneleri vardır çünkü. Burada User_library Object sınıf User_library nesnesidir. Bu, aynı zamanda, içinde Permission_library nesne vardır. nasıl ben şu arada yukarıda alay edebilir
$observer = $this->getMock('Some_model', array('Some_model'));
$observer->expects($this->any())
->method('Some_model')
->with($this->equalTo('something'));
Burada benim sorunum Doları something parçası orada ne olurdu bu-> equalTo ('şey'). bana yol lütfen.