<?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.5</id>
	<title>PHPUnitManual:19.5 - 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.5"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.5&amp;action=history"/>
	<updated>2026-05-02T12:39:18Z</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.5&amp;diff=3455&amp;oldid=prev</id>
		<title>Onionmixer: PHPUnit 19.5 PHPUnit_Framework_Test 구현 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.5&amp;diff=3455&amp;oldid=prev"/>
		<updated>2013-07-04T09:59:27Z</updated>

		<summary type="html">&lt;p&gt;PHPUnit 19.5 PHPUnit_Framework_Test 구현 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;19.5 PHPUnit_Framework_Test 구현&lt;br /&gt;
&lt;br /&gt;
PHPUnit_Framework_Test 인터페이스의 기능은 한정되어 있기에 간단히 구현할 수 있습니다. PHPUnit_Framework_Test 를 구현하는 것은 PHPUnit_Framework_TestCase 를 구현하는 것보다 간단합니다. PHPUnit_Framework_Test 의 구현을 통해 data-driven 테스트 등을 실행할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSV 파일의 값과 비교하는 data-driven 테스트의 예를 예19.5 &amp;quot;data-driven 테스트&amp;quot; 에 보입니다. 이 파일의 각 행은 foo;bar 와 같은 형식으로 구성되어 있고 (역주 : CSV 파일이 아닌데...), 첫번째 값이 기대값, 2번째 값이 실제값입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예19.5 data-driven 테스트&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;
class DataDrivenTest implements PHPUnit_Framework_Test&lt;br /&gt;
{&lt;br /&gt;
    private $lines;&lt;br /&gt;
 &lt;br /&gt;
    public function __construct($dataFile)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&amp;gt;lines = file($dataFile);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    public function count()&lt;br /&gt;
    {&lt;br /&gt;
        return 1;&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 = new PHPUnit_Framework_TestResult;&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        foreach ($this-&amp;gt;lines as $line) {&lt;br /&gt;
            $result-&amp;gt;startTest($this);&lt;br /&gt;
            PHP_Timer::start();&lt;br /&gt;
            $stopTime = NULL;&lt;br /&gt;
 &lt;br /&gt;
            list($expected, $actual) = explode(&amp;#039;;&amp;#039;, $line);&lt;br /&gt;
 &lt;br /&gt;
            try {&lt;br /&gt;
                PHPUnit_Framework_Assert::assertEquals(&lt;br /&gt;
                  trim($expected), trim($actual)&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
 &lt;br /&gt;
            catch (PHPUnit_Framework_AssertionFailedError $e) {&lt;br /&gt;
                $stopTime = PHP_Timer::stop();&lt;br /&gt;
                $result-&amp;gt;addFailure($this, $e, $stopTime);&lt;br /&gt;
            }&lt;br /&gt;
 &lt;br /&gt;
            catch (Exception $e) {&lt;br /&gt;
                $stopTime = PHP_Timer::stop();&lt;br /&gt;
                $result-&amp;gt;addError($this, $e, $stopTime);&lt;br /&gt;
            }&lt;br /&gt;
 &lt;br /&gt;
            if ($stopTime === NULL) {&lt;br /&gt;
                $stopTime = PHP_Timer::stop();&lt;br /&gt;
            }&lt;br /&gt;
 &lt;br /&gt;
            $result-&amp;gt;endTest($this, $stopTime);&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
        return $result;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$test = new DataDrivenTest(&amp;#039;data_file.csv&amp;#039;);&lt;br /&gt;
$result = PHPUnit_TextUI_TestRunner::run($test);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
PHPUnit 3.7.0 by Sebastian Bergmann.&lt;br /&gt;
&lt;br /&gt;
.F&lt;br /&gt;
&lt;br /&gt;
Time: 0 seconds&lt;br /&gt;
&lt;br /&gt;
There was 1 failure:&lt;br /&gt;
&lt;br /&gt;
1) DataDrivenTest&lt;br /&gt;
Failed asserting that two strings are equal.&lt;br /&gt;
expected string &amp;lt;bar&amp;gt;&lt;br /&gt;
difference      &amp;lt;  x&amp;gt;&lt;br /&gt;
got string      &amp;lt;baz&amp;gt;&lt;br /&gt;
/home/sb/DataDrivenTest.php:32&lt;br /&gt;
/home/sb/DataDrivenTest.php:53&lt;br /&gt;
&lt;br /&gt;
FAILURES!&lt;br /&gt;
Tests: 2, Failures: 1.&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>