PHPUnit ile test ederken oturum varibles oluşturmak için nasıl

0 Cevap php

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.

0 Cevap