PHP에서 단위 테스트 및 단위 테스트를 처음 사용했습니다. 저는 PHP 5.3.8과 PHPUnit 3.7.18을 사용하고 있습니다. 나는 간단한 수학 수업과 수학 시험 클래스가 있습니다PHPUnit 버전 문제 - 브라우저와 명령 행에서 실행
Math.php을
<?php
class Math {
protected $val1;
protected $val2;
public function set_values($val1, $val2) {
$this -> val1 = $val1;
$this -> val2 = $val2;
}
public function get_values() {
return $this -> $val1;
return $this -> $val2;
}
public function add_values() {
$this -> val1 + $this -> val2 = 5;
return 5;
}
}
?>
Math_Test.php
<?php
require_once 'PHPUnit/Autoload.php';
require_once 'Math.php';
class Math_Test extends PHPUnit_Framework_TestCase {
protected $value1;
protected $value2;
public function test_add() {
$math = new Math();
$expected = 7;
$actual = $math -> add_values();
$this -> assertEquals($expected, $actual);
}
protected function set_up() {
$this -> math = new Math();
$this -> math -> setValues(2, 3);
}
protected function tear_down() {
unset($this -> value1);
unset($this -> value2);
}
}
?>
내가 이전 버전을 가지고 있기 때문에 처음에는 어려움을 겪고 있었다 내 xampp
에 PHPUnit을 설치하십시오. 나는 PEAR과 PHPUnit을 업그레이드하고 위의 테스트를 수행 할 수있었습니다.
제게 혼란스러운 점은이 테스트를 명령 줄에서 실행하여 예상되는 결과를 얻을 수 있다는 것입니다. 그러나 나는 브라우저에서도이 프로그램을 실행할 수 있기를 희망했기 때문에 결과를 그렇게 볼 수있었습니다. 내 동일한 설치와
, 내가 잘 브라우저에서 실행하려면이 유사한 테스트를 얻을 수 있습니다 (이 ..xampp\php\PEAR\PHPUnit.php
의 코멘트 섹션에서 온) :
<?php
require_once 'PHPUnit.php';
class MathTest extends PHPUnit_TestCase {
var $fValue1;
var $fValue2;
function MathTest($name) {
$this->PHPUnit_TestCase($name);
}
function setUp() {
$this->fValue1 = 2;
$this->fValue2 = 3;
}
function testAdd() {
$this->assertTrue($this->fValue1 + $this->fValue2 == 5);
}
}
$suite = new PHPUnit_TestSuite();
$suite->addTest(new MathTest('testAdd'));
$result = PHPUnit::run($suite);
print $result->toHTML();
?>
공지 사항 PHPUnit.php
대 Auotloader.php
최신의 사용 및 PHPUnit_TestCase
대 PHPUnit_Framework_TestCase
. 어쩌면 버전이 내 시스템에 섞여서 문제가 생길 수 있습니까?
브라우저에서 최신 버전 테스트 (첫 번째 테스트)를 실행하려면 어떻게해야합니까? 테스트 스위트와 결과 클래스를 사용하여 HTML로 실행하고 표시하는 것과 같은 것을 기대합니다. 유사 콘텐츠를 사용해 보았습니다.
Fatal error: Class 'PHPUnit' not found in...
include_path
모든 것이 작동하는 것 같군 :
나는 첫 번째 테스트를 위해, 두 번째 테스트에서와 같이 브라우저 섹션에 인쇄를 설정하는 노력이 오류가 발생합니다. 또한, 터미널에서 테스트가 정상적으로 실행됩니다.
VisualPHPUnit을 설치했으며이 도구는 브라우저에서 시각적 테스트를보고 싶은 사용자에게 적합합니다. 이 질문으로 어디든 갈 수 있다면, 아마도 VisualPHPUnit이 나를 위해 일하는 것에 집중할 것입니다.
이 글을 쓰고 편집하는 방법을 많이 배웠습니다. 의견을 보내 주셔서 감사합니다.
정확히 어떤 문제입니까/문제입니까? – fiunchinho
질문에 추가 ... 기본적으로 첫 번째 테스트에서는 오류가 발생합니다. 나는 곧 오류를 추가 할 것이다. – nicorellius
설명서 (http://www.phpunit.de/manual/current/en/fixtures.html)에서는 set_up() 및 tear_down()이 아닌 setUp() 및 tearDown()을 사용해야한다고 말합니다. 두 번째 테스트에서는 PHPUnit.php 파일을 포함합니다. 그 파일의 내용은 무엇입니까? 아마도 PEU에 이전 버전의 PHPUnit이 설치되어있을 것이므로 PHPUnit_Framework_TestCase에서 테스트 클래스를 상속받을 때이 버전을 사용하게 될지 궁금합니다. 두 번째 테스트에서는 PHPUnit.php를 포함하여 새로운 버전을 사용할 수 있습니다. – fiunchinho