Я создаю консольное приложение, чтобы помочь мне разработать свой сайт на php.Консольное приложение выполняется в цикле while, печатает меню с параметрами, и я буду вводить число, чтобы сообщить приложению, что я хочу от него.В одном из моих вариантов я запускаю тест phpunit, когда я запускаю тест, он работает, но когда я обновляю свой тест и снова нажимаю свой параметр, phpunit отображает «Тесты не выполнены!».Когда я перезапускаю консольное приложение, оно будет работать, но у меня все еще будет та же проблема, когда я пытаюсь запустить модульный тест во второй раз.
Вот пример кода
Я устал создавать новый экземплярКоманда phpunit, а затем используйте метод run.
Я попытался выйти из цикла и снова начать вызов.
require_once __DIR__ . '/vendor/autoload.php';
public function printMenu()
{
echo "*******menu*****";
echo "\r\n";
echo "option 1: do something";
echo "\r\n";
echo "option 2: Do unit test:";
echo "\r\n";
echo "option 3: Exit";
echo "\r\n";
}
public function begin(){
while(true){
$this->printMenu();
$input = trim(fgets(STDIN));
if($input == 1){
$this->doSomething();
}else if($input ==2){
PHPUnit\TextUI\Command::main(false);
}else if($input == 3){
break;
}
}
}
//Sample test class (just an example)
use PHPUnit\Framework\TestCase;
class SampleTest extends TestCase
{
public function testTrueAssertsToTrue(): void {
$this->assertTrue(true);
$this->assertTrue(true);
$this->assertTrue(false);
$this->assertTrue(true);
$this->assertTrue(true);
}
}
//update will be
use PHPUnit\Framework\TestCase;
class SampleTest extends TestCase
{
public function testTrueAssertsToTrue(): void
{
$this->assertTrue(true);
$this->assertTrue(true);
$this->assertTrue(true);
$this->assertTrue(true);
$this->assertTrue(true);
}
}