2010-05-16 3 views
3

저는 LAMP, PHP5, MySQL과 Xdebug가있는 NetBeans를 사용하는 웹 개발에 익숙합니다.CodeIgniter 및 SimpleTest - 처음 테스트하는 법?

이제 (A) 적절한 테스트와 (B) 프레임 워크를 사용하는 방법을 배우면서 개발을 개선하고 싶습니다. 따라서 CodeIgniter, SimpleTest 및 Firefox 용 easy Xdebug 추가 기능을 설정했습니다. maroonbytes에서 분명한 지침과 구성 설정을 다운로드 할 준비가 되었기 때문에 이것은 아주 재미 있습니다. 나는 거인의 어깨에 서 있고, 매우 감사한다.

저는 과거에 SimpleTest를 조금 사용했습니다. 여기 제가 작성한 것입니다 :

<?php 
require_once('../simpletest/unit_tester.php'); 
require_once('../simpletest/reporter.php'); 

class TestOfMysqlTransaction extends UnitTestCase { 
    function testDB_ViewTable() { 
    $this->assertEqual(1,1); // a pseudo-test 
    } 
} 
$test = new TestOfMysqlTransaction(); 
$test->run(new HtmlReporter()) 
?> 

그래서 나는 시험이 어떻게 생겼는지 알기를 바랍니다. 내가 알 수없는 것은 새로운 설정에 테스트를 배치하는 위치와 방법입니다. maroonbytes 패키지에서 샘플 테스트를 볼 수 없으며 Google은 지금까지 단위 테스트가 이미 기능적으로 사용 가능하다고 가정하는 게시물로 안내했습니다. 나는 무엇을해야합니까?

+0

안녕하세요! 그걸 작동 시키려고 했나요? – Industrial

+0

아니, 열심히 노력했지만 잠시 후 나는 외부 상황에 압도 당했다. 마지막 시도는 maroonbytes 스키마를 삭제하고 SimpleTest를 다른 방법으로 통합하는 것입니다. 그러나 "실행 가능한 테스트 없음"응답. 나는 곧 나의 노력을 재개 할 수있는 위치에 있어야한다. 그래서 희망을 갖고 나는 좋은 소식을 가져올 것이다. – Smandoli

+0

시도가 없습니다. Lucid Lynx + Netbeans의 문제점. 대학에 딸려야 해. 등등. 그래도 그것을 깨기를 바란다. – Smandoli

답변

1

먼저 테스트의 이름을 올바르게 지정해야합니다. welcome.php 파일에있는 컨트롤러 환영을 테스트하려면 테스트 이름은 welcome_controller_test.php이고 tests/controllers/아래에 저장됩니다. 자세한 내용은 this post을 참조하십시오.

둘째, Xdebug의 GET 인수가 테스트 루틴을 방해합니다. 위의 게시물을 참조하십시오. this post. 매우 행복하게 해주기

//require_once('../simpletest/unit_tester.php'); 
//require_once('../simpletest/reporter.php'); 
... 
//$test = new TestOfMysqlTransaction(); 
//$test->run(new HtmlReporter()) 

내가 만드는 중이라서 테스트 :

셋째, 내가 게시 된 스텁 테스트는 삭제 네 줄 필요가 있었다. CodeIgniter를 사용하면 쉽게 테스트를 생성/유지할 수 있으므로 TDD의 목표를 달성 할 수 있습니다. TDD에 대한 나의 초기 시도는 나에게 아이디어를 주었지만, PHP를 스크래치하는 것은 나에게 너무 효과적이지 못했다. (그리고 우리는 VBA에 대해 논하지 않을 것이다!)

2

편집 : 당신이 maroonbytes 설정을 다음과 같은 경우

, 단지에 따라 지침 :

  1. 는 SimpleTest 프레임 워크를 다운로드하여 @codeigniter 디렉토리에 파일의 압축을 풉니 다.
  2. 메인 폴더와 admin/application 폴더에 tests라는 새 폴더를 만듭니다.
  3. 새 테스트 폴더 내에 '모델', '보기', '컨트롤러', '라이브러리'및 '도우미'이라는 추가 폴더를 설정합니다.

.php로 끝나고 그 중 하나에 UnitTestCase가있는 파일이 실행되어야합니다. :)

+0

감사 Favio. 나는 이것을 조금 더주고있다.나는 WAMP에 있고 maroonbytes의 테스트 GUI는 고장났다. 오늘 밤 나는 램프에서 돌아올 것이고 나는 당신의 대답을 시도 할 것이다. 하지만 폴더 구조가 다르기 때문에 게으르다. maroonbytes 팬이 뭔가를 게시하기를 바란다. – Smandoli

+0

Np. :) 나는 나의 대답을 바꿨다, 나는 내가 이전의 하나와 함께 바른 길을 가고 있었다라고 확신하지 않았다. HTH! – Favio

+0

OP에서 설명한 내용의 .php 파일이 있는데 다양한 테스트 하위 폴더를 숨겨 놨습니다. 하지만 'CodeIgniter Application Test Suite'인터페이스를 통해 테스트를 성공적으로 실행할 수는 없습니다. 메시지 : include_once (/var/www/sparts/main/tests/test_suite_3.php) [function.include-once] : 스트림을 열지 못했습니다. '라는 메시지가 나타납니다. 그게 전부 잘못 됐어, localhost에 가야하고 그 길은 옳지 않아. 내가 무슨 일이 일어나고 있는지 알고 싶습니다. – Smandoli