0
我需要幫助,因爲我不是PHPUNIT的專家。PHPUNIT - 返回實例化類2的同一個實例
我覺得,當我在我的測試類實例化了我兩次驗證,即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()));
}
}
`` ` 所以我的測試「testIsValid()」無法正常工作。另一方面,如果我刪除測試「testIsNotValid()」,測試「testIsValid()」開始工作...
任何人都有想法嗎?
非常感謝。
請提供更多的信息。你得到了什麼產出,你期望什麼?你可以顯示'rules()'和'isValid()'方法的代碼嗎? – Timurib
我在第二個答案中發佈了這些方法。我的第一個答案的評論中解釋了我所得到的和我所期望的。謝謝 – stephweb