codeception unit Пример теста с @depends


<?php

use ItForFree\rusphp\Common\Phone\PhoneNumber\RussianPhoneNumber;

class RussianPhoneNumberTest extends \Codeception\Test\Unit
{
    /**
     * @var \UnitTester
     */
    protected $tester;

    protected function _before()
    {
    }

    protected function _after()
    {
    }
    
    /**
     *
     * @var array массив массивов
     * исходный номер | чистый вид | tel: вид | является ли внутренним
     */
    protected  $testPhones = [
            ['+7 (945) 345 67 89', '+79453456789', '+79453456789', false],
            ['8 (945), 345-67-89', '89453456789', '+79453456789', false],
            ['(945) 345-67-89', '9453456789', '+79453456789', false],
            ['345-67-89', '3456789', '3456789', false],
            ['5-67-89', '56789', '56789', true],
            ['8 (945)  345-67-89', '89453456789', '+79453456789', false],
            
        ];
    

    public function testClear()
    {  
        $tester = $this->tester;

        $clear = [];
        
        foreach ($this->testPhones as $key => $phone) {
            $currentClear = (new RussianPhoneNumber($phone[0]))->getClear();
            $clear[$key] = $currentClear;
        }
        
        foreach ($this->testPhones as $key => $phone) {
            $tester->assertSame($this->testPhones[$key][1], $clear[$key]);
        }
        
        return $clear;
   
    }
    

    public function testIsInner()
    {  
        foreach ($this->testPhones as $key => $phone) {        
            $this->tester->assertSame($this->testPhones[$key][3], 
                (new RussianPhoneNumber($phone[0]))->isInner());
        }
    }
    
    
    /**
     * @depends testClear
     */
    public function testTelFormat($clearPhones)
    {  
        $tester = $this->tester;

        $telValues = [];
        
        foreach ($clearPhones as $key => $phone) {
            $current = (new RussianPhoneNumber($phone))->getCallValue();
            $telValues[$key] = $current;
        }
        
        foreach ($this->testPhones as $key => $phone) {        
            $tester->assertSame($this->testPhones[$key][2], $telValues[$key]);
        }
   
    }
}

Key Words for FKN + antitotal forum (CS VSU):