0
私はPHPUNITの専門家ではないので、助けてください。PHPUNIT - 同じインスタンスを2回インスタンス化するクラスを返す
私は私のテストクラスで二回私のバリデータのインスタンスを作成するとき、そのPHPUnitのは2番目のインスタンスを無視し...ここで
が私のコードであることを感じる: `` `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()));
}
}
` ` ` 私のテスト" testIsValid() "は正しく動作しません。一方、テスト "testIsNotValid()"を削除すると、テスト "testIsValid()"が機能し始めます...
誰でも知っていますか?
ありがとうございました。ここ
、より多くの情報を提供してください、ありがとうございました。あなたはどんなアウトプットを得ていますか? 'rules()'と 'isValid()'メソッドのコードを表示できますか? – Timurib
私は2番目の答えにメソッドを掲載しました。私が得るものと私が期待することは、私の第1の答えのコメントで説明されています。ありがとうございました – stephweb