제목 | php Unit __construct undefined 오류 때문에 미치겠네요 ㅠㅠ | ||
---|---|---|---|
글쓴이 | 해달봉 | 작성시각 | 2014/09/03 13:42:29 |
|
|||
tests 라는 폴더에 bootstrap.php, phpunit.xml 과 CRUD_TEST.php 파일 세개를 넣어놓았습니다 CRUD_TEST.php <?php require_once 'application/libraries/contents/setDBQueryTest.php'; class CRUD_TEST extends PHPUnit_Framework_TestCase { public $test; public function setUp() { $this->test = new setDBQueryTest(); } public function testSelect_function () { $result = $this->test->select_function(); echo $result ; } } application/libraries/contents/setDBQueryTest.php class setDBQueryTest { var $CI; function __construct() { $this->CI =& get_instance(); $this->CI->load->database(); } //select Query 실행 public function select_function() { $CI =& get_instance(); $CI->db->select('cul.nListSeq, cul.sToName, cul.sContent, cul.dtCreateDate, cul.dtCreateTime, culs.emSnsSection, culs.sDivisionSnsUrl, cul.password') ->from('tcheeruplist AS cul') ->join('tcheeruplistsns AS culs' , 'cul.nListSeq = culs.nListSeq' , 'left') ->order_by('cul.nListSeq','ASC') ->offset(0) ->limit (5); $query = $CI->db->get(); $result = $query->result_array(); return $result; } 이렇게 하고 CRUD_TEST.php를 이클립스에서 실행을 하게 되면 Call to undefined function get_instance() 오류가 발생합니다.ㅠㅠ 저번에도 비슷한 글을 올렸을 때 선배님들의 조언으로 다시 한번 테스트 코드를 변경했는데도 불구하고 계속 문제가 발생합니다.. 오히려 테스트 코드 작성해서 실행되게 만드는게 더 어렵네요 ㅠㅠㅠ 꼭 조언 부탁드립니다. |
|||
다음글 | CI_Security 내 $_csrf_token_nam... | ||
이전글 | 주소줄에 한글이 들어가면 다 깨져버리네요. (7) | ||
Artz
/
2014/09/03 14:08:12 /
추천
0
|
한대승(불의회상)
/
2014/09/03 14:32:14 /
추천
0
|
Call to undefined function get_instance();
정의되지 않은 get_instance 함수 호출... 즉, get_instance를 못찾아서 발생한 문제라는 겁니다.
Codeigniter framework의 경우,
index.php가 실행되면서 library/helper 등의 모듈들을 로드하는 과정을 거치는데,
그 과정이 빠져있으니 당연히 해당 함수 정의 부분은 빠져있을테고,
위 에러를 나타낼 수 밖에요.
참고로 get_instance 함수는 system/core/CodeIgniter.php에 정의되어 있으며,
system/core/Controller.php에 정의된 CI_Controller 클래스의 get_instance 함수를 호출합니다.
좀 더 자세한 내용은, 소스 살펴보시면서 확인해보세요~