°Ù·Ö°ÙÔ´ÂëÍø-Èý¨Õ¾±äµÃÈç´Ë¼òµ¥£¡ µÇ¼ ×¢²á Ç©µ½Áì½ð±Ò£¡

Ö÷Ò³ | ÈçºÎÉý¼¶VIP | TAG±êÇ©

µ±Ç°Î»ÖÃ: Ö÷Ò³>ÍøÕ¾½Ì³Ì>ÍøÒ³ÖÆ×÷> ¡¾ callable-fake¡¿Ðé¹¹ÄãµÄ¿Éµ÷È¡º¯ÊýÒÔ¼Ó¿ì²âÊÔ
·ÖÏíÎÄÕµ½£º

¡¾ callable-fake¡¿Ðé¹¹ÄãµÄ¿Éµ÷È¡º¯ÊýÒÔ¼Ó¿ì²âÊÔ

·¢²¼Ê±¼ä£º09/01 À´Ô´£ºÎ´Öª ä¯ÀÀ£º ¹Ø¼ü´Ê£º
Callable fake ÊÇ Tim Macdonald µÄÒ»¸ö PHP ²âÊÔÓÐÓóÌÐò£¬Ëü ¡°Í¬ÒâÄúÄóÔì¡¢²¶×½ºÍ¶ÏÑԶԿɵ÷È¡ / ±Õ°üµÄµ÷È¡¡±¡£ÔÚijЩ״¿öÏ£¬´Ë°ü¿ÉÒÔ°ïæÔÚ²âÊÔÖÐͬÒ⿪·¢ÈËÔ±´«µÝÒ»¸ö callable¡£

ËüÓÐÒ»¸öÊÜ Laravel Ðé¹¹ÆôʾµÄ API£¬ÈçÏÂËùʾ£º

// Before, you might collect callables to assert later...
public function testEachLoopsOverAllDependencies(): void
{
    // arrange
    $received = [];
    $expected = factory(Dependency::class)->times(2)->create();
    $repo = $this->app[DependencyRepository::class];
    // act
    $repo->each(function (Dependency $dependency) use (&$received): void {
        $received[] = $dependency;
    });
    // assert
    $this->assertCount(2, $received);
    $this->assertTrue($expected[0]->is($received[0]));
    $this->assertTrue($expected[1]->is($received[1]));
}

ʹÓôËÈí¼þ°ü£¬Äú¿ÉÒÔʹÓÃÏàËÆÒÔÏÂÄÚÈݵÄÄÚÈÝ£º

public function testEachLoopsOverAllDependencies(): void
{
    // arrange
    $callable = new CallableFake();
    $expected = factory(Dependency::class)->times(2)->create();
    $repo = $this->app[DependencyRepository::class];
    // act
    $repo->each($callable);
    // assert
    $callable->assertTimesInvoked(2);
    $callable->assertCalled(function (Depedency $dependency) use ($expected): bool {
        return $dependency->is($expected[0]);
    });
    $callable->assertCalled(function (Dependency $dependency) use ($expected): bool {
        return $dependency->is($expected[1]);
    });
}

¸Ã°ü¹©¸øÁËÖîÈç assertCalled¡¢assertNotCalled¡¢assertInvoked µÈ¶ÏÑÔ¡£ÓйؾßÌåÐÅÏ¢ºÍʾÀý£¬ÇëÎñ±Ø²é¿´ÏîÄ¿×ÔÊöÎļþÖеĿÉÓà assertions µÄÍêÈ«ÁÐ±í¡£

Äã¿ÉÒÔÔÚ GitHub ÉÏÀí½â¸ü¶à¹ØÓÚ´ËÈí¼þ°üµÄÐÅÏ¢£¬ÁÔÈ¡ÍêÈ«µÄ°²ÖÃ˵Ã÷£¬²¢ÔÚ timacdonald/callable-fake Éϲ鿴Դ´úÂë¡£

ÒÔÉϾÍÊÇ¡¾ callable-fake¡¿Ðé¹¹ÄãµÄ¿Éµ÷È¡º¯ÊýÒÔ¼Ó¿ì²âÊԵľßÌåÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢°Ù·Ö°ÙÔ´ÂëÍøÆäËüÏà¹ØÎÄÕ£¡

´òÉÍ

´òÉÍ

È¡Ïû

¸ÐлÄúµÄÖ§³Ö£¬ÎÒ»á¼ÌÐøŬÁ¦µÄ!

ɨÂëÖ§³Ö
ɨÂë´òÉÍ£¬Äã˵¶àÉپͶàÉÙ

´ò¿ªÖ§¸¶±¦É¨Ò»É¨£¬¼´¿É½øÐÐɨÂë´òÉÍŶ

°Ù·Ö°ÙÔ´ÂëÍø ½¨Òé´òÉÍ1¡«10Ôª£¬ÍÁºÀËæÒ⣬¸ÐлÄúµÄÔĶÁ£¡

¹²ÓÐ151ÈËÔĶÁ£¬ÆÚ´ýÄãµÄÆÀÂÛ£¡·¢±íÆÀÂÛ
êdzƣº ÍøÖ·£º ÑéÖ¤Â룺 µã»÷ÎÒ¸ü»»Í¼Æ¬
×îÐÂÆÀÂÛ

±¾ÎıêÇ©

¹ã¸æÔÞÖú

ÄܳöÒ»·ÖÁ¦ÊÇÒ»·Ö°É£¡

¶©ÔÄ»ñµÃ¸ü¶àÄ£°å

±¾ÎıêÇ©

¹ã¸æÔÞÖú

¶©ÔÄ»ñµÃ¸ü¶àÄ£°å