0
PHPUNIT의 전문가가 아니기 때문에 도움이 필요합니다.PHPUNIT - 두 번 인스턴스화하는 클래스의 동일한 인스턴스를 반환합니다.
나는 내 테스트 클래스에 두 번 내 검사기를 인스턴스화 할 때, 그 phpunit을가 두번째 인스턴스를 무시한다고 생각 ... 여기
내 코드입니다 : ```PHP<?php
namespace Tests\Validation;
use PHPUnit\Framework\TestCase;
use Validation\Validator;
class ValidatorTest extends TestCase
{
public function testIsNotValid()
{
$_POST['input_test'] = '1';
$validator = new Validator();
$validator->rules([
'input_test' => [
'alpha '=> true, // "$_POST['input_test']" must be alpha
],
]);
// "isValid()" must return "false", and PHPUNIT returns "false"
$this->assertFalse($validator->isValid());
// "count($validator->getErrors())" Must return "1", and PHPUNIT returns "1"
$this->assertEquals(1, count($validator->getErrors()));
}
public function testIsValid()
{
$_POST['input_test'] = 'aaa';
$validator = new Validator();
$validator->rules([
'input_test' => [
'alpha' => true, // "$_POST['input_test']" must be alpha
],
]);
// "isValid()" must return "true", but PHPUNIT returns "false"
$this->assertTrue($validator->isValid());
// "count($validator->getErrors())" must return "0", but PHPUNIT returns "1"
$this->assertEquals(0, count($validator->getErrors()));
}
}
`` ` 그래서 내 test "testIsValid()"가 제대로 작동하지 않습니다. 반면, "testIsNotValid()"테스트를 삭제하면 "testIsValid()"테스트가 작동하기 시작합니다 ...
누구나 아이디어가 있습니까?
대단히 감사합니다. 여기
, 더 많은 정보를 제공하시기 바랍니다 감사합니다. 당신은 어떤 결과물을 얻고 있으며 무엇을 기대합니까? 'rules()'와'isValid()'메소드의 코드를 보여줄 수 있습니까? – Timurib
두 번째 대답에 방법을 게시했습니다. 내가 얻는 것, 그리고 내가 기대하는 것은 나의 1 차 답의 설명에 설명되어있다. 고맙습니다 – stephweb