<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=PHPUnitManual%3A19.4</id>
	<title>PHPUnitManual:19.4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=PHPUnitManual%3A19.4"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.4&amp;action=history"/>
	<updated>2026-05-02T08:35:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.4&amp;diff=3454&amp;oldid=prev</id>
		<title>Onionmixer: PHPUnit 19.4 PHPUnit_Extensions_TestDecorator 의 subclass 작성 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.4&amp;diff=3454&amp;oldid=prev"/>
		<updated>2013-07-04T09:58:19Z</updated>

		<summary type="html">&lt;p&gt;PHPUnit 19.4 PHPUnit_Extensions_TestDecorator 의 subclass 작성 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;19.4 PHPUnit_Extensions_TestDecorator 의 subclass 작성&lt;br /&gt;
&lt;br /&gt;
PHPUnit_Extensions_TestDecorator 의 subclass 로 test case 나 test suite 를 wrapping 하고 Decorator design pattern 을 사용하여, 각 테스트의 실행 전후에 원하는 명령을 처리할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PHPUnit 에는, PHPUnit_Extensions_RepeatedTest 와 PHPUnit_Extensions_TestSetup 의 2가지 구상 (concrete) 테스트 decorator 가 포함되어 있습니다. PHPUnit_Extensions_RepeatedTest 는 테스트를 반복 실행하여, 각 테스트가 모두 성공한 경우에 성공으로 처리합니다. PHPUnit_Extensions_TestSetup 는 제6장 Fixture 를 참조하세요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예19.4 &amp;quot;RepeatedTest Decorator&amp;quot; 는, test decorator PHPUnit_Extensions_RepeatedTest 의 일부를 발췌한 것입니다. 오리지널 test decorators 작성할 때 참고하세요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예19.4 RepeatedTest Decorator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
require_once &amp;#039;PHPUnit/Extensions/TestDecorator.php&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator&lt;br /&gt;
{&lt;br /&gt;
    private $timesRepeat = 1;&lt;br /&gt;
 &lt;br /&gt;
    public function __construct(PHPUnit_Framework_Test $test, $timesRepeat = 1)&lt;br /&gt;
    {&lt;br /&gt;
        parent::__construct($test);&lt;br /&gt;
 &lt;br /&gt;
        if (is_integer($timesRepeat) &amp;amp;&amp;amp;&lt;br /&gt;
            $timesRepeat &amp;gt;= 0) {&lt;br /&gt;
            $this-&amp;gt;timesRepeat = $timesRepeat;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    public function count()&lt;br /&gt;
    {&lt;br /&gt;
        return $this-&amp;gt;timesRepeat * $this-&amp;gt;test-&amp;gt;count();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    public function run(PHPUnit_Framework_TestResult $result = NULL)&lt;br /&gt;
    {&lt;br /&gt;
        if ($result === NULL) {&lt;br /&gt;
            $result = $this-&amp;gt;createResult();&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        for ($i = 0; $i &amp;lt; $this-&amp;gt;timesRepeat &amp;amp;&amp;amp; !$result-&amp;gt;shouldStop(); $i++) {&lt;br /&gt;
            $this-&amp;gt;test-&amp;gt;run($result);&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        return $result;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PHPUnitManual]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>