<?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.2</id>
	<title>PHPUnitManual:19.2 - 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.2"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.2&amp;action=history"/>
	<updated>2026-05-02T12:39:12Z</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.2&amp;diff=3452&amp;oldid=prev</id>
		<title>Onionmixer: PHPUnit 19.2 커스텀 검증 (custom assertions) 작성 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=PHPUnitManual:19.2&amp;diff=3452&amp;oldid=prev"/>
		<updated>2013-07-04T09:56:08Z</updated>

		<summary type="html">&lt;p&gt;PHPUnit 19.2 커스텀 검증 (custom assertions) 작성 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;19.2 커스텀 검증 (custom assertions) 작성&lt;br /&gt;
&lt;br /&gt;
커스텀 검증을 작성할 때는, PHPUnit 자체의 검증 구현을 따라하는 것이 좋습니다. 예19.1 &amp;quot;PHPUnit_Framework_Assert 클래스의 assertTrue() 및 isTrue() 메소드&amp;quot; 에 나와 있는 것처럼, assertTrue() 메소드는 isTrue() 와 assertThat() 메소드의 단순한 wrapper 입니다. isTrue() 가 matcher 오브젝트를 만들고, 이 오브젝트를assertThat() 가 평가합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예19.1 PHPUnit_Framework_Assert 의 assertTrue() 와 isTrue() 메소드&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;
abstract class PHPUnit_Framework_Assert&lt;br /&gt;
{&lt;br /&gt;
    // ...&lt;br /&gt;
 &lt;br /&gt;
    /**&lt;br /&gt;
     * Asserts that a condition is true.&lt;br /&gt;
     *&lt;br /&gt;
     * @param  boolean $condition&lt;br /&gt;
     * @param  string  $message&lt;br /&gt;
     * @throws PHPUnit_Framework_AssertionFailedError&lt;br /&gt;
     */&lt;br /&gt;
    public static function assertTrue($condition, $message = &amp;#039;&amp;#039;)&lt;br /&gt;
    {&lt;br /&gt;
        self::assertThat($condition, self::isTrue(), $message);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // ...&lt;br /&gt;
 &lt;br /&gt;
    /**&lt;br /&gt;
     * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.&lt;br /&gt;
     *&lt;br /&gt;
     * @return PHPUnit_Framework_Constraint_IsTrue&lt;br /&gt;
     * @since  Method available since Release 3.3.0&lt;br /&gt;
     */&lt;br /&gt;
    public static function isTrue()&lt;br /&gt;
    {&lt;br /&gt;
        return new PHPUnit_Framework_Constraint_IsTrue;&lt;br /&gt;
    }&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;
예19.2 &amp;quot;PHPUnit_Framework_Constraint_IsTrue 클래스&amp;quot; 는, PHPUnit_Framework_Constraint_IsTrue가 matcher 오브젝트 (혹은 제약 (constraints)) 을 위해 추상 클래스 PHPUnit_Framework_Constraint 를 계승하는 예입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
예19.2 PHPUnit_Framework_Constraint_IsTrue 클래스&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 PHPUnit_Framework_Constraint_IsTrue extends PHPUnit_Framework_Constraint&lt;br /&gt;
{&lt;br /&gt;
    /**&lt;br /&gt;
     * Evaluates the constraint for parameter $other. Returns TRUE if the&lt;br /&gt;
     * constraint is met, FALSE otherwise.&lt;br /&gt;
     *&lt;br /&gt;
     * @param mixed $other Value or object to evaluate.&lt;br /&gt;
     * @return bool&lt;br /&gt;
     */&lt;br /&gt;
    public function matches($other)&lt;br /&gt;
    {&lt;br /&gt;
        return $other === TRUE;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    /**&lt;br /&gt;
     * Returns a string representation of the constraint.&lt;br /&gt;
     *&lt;br /&gt;
     * @return string&lt;br /&gt;
     */&lt;br /&gt;
    public function toString()&lt;br /&gt;
    {&lt;br /&gt;
        return &amp;#039;is true&amp;#039;;&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;
assertTrue() 와 isTrue() 메소드의 구현을 PHPUnit_Framework_Constraint_IsTrue 클래스와 같이 하여, 검증의 평가나 태스크의 기록 (테스트의 통계 정보를 자동 갱신 등) 을 assertThat() 이 자동으로 해 줍니다. 또, mock 오브젝트를 설정하기 위한 matcher 에 isTrue() 메소드를 사용할 수 있게 됩니다.&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>