<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Sprytne testowanie modelu w Ruby on Rails</title>
	<atom:link href="http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/</link>
	<description>radosny blog o nowych technologiach</description>
	<lastBuildDate>Tue, 03 Jan 2012 21:57:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Tomek</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-56</link>
		<dc:creator>Tomek</dc:creator>
		<pubDate>Sat, 13 Oct 2007 12:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-56</guid>
		<description>Wszystko fajnie tylko testowanie tego to jest troche overkill. Wlasne metody to rozumiem, popieram i stosuje. Ale takie rzeczy jak validates_* to juz mi pachnie nadgorliwoscia podobna do testowania np. attr_reader.</description>
		<content:encoded><![CDATA[<p>Wszystko fajnie tylko testowanie tego to jest troche overkill. Wlasne metody to rozumiem, popieram i stosuje. Ale takie rzeczy jak validates_* to juz mi pachnie nadgorliwoscia podobna do testowania np. attr_reader.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wiktor</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-59</link>
		<dc:creator>wiktor</dc:creator>
		<pubDate>Thu, 11 Oct 2007 09:21:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-59</guid>
		<description>@Marek


Faktycznie, twój sposób jest elegancki, ale pozbądźmy się class_eval. Można wtedy zapisać to w ten sposób:

    def self.test_validates_presence_of(*args)
        args.each do &#124;name&#124;
            define_method(:&quot;test_validation_#{name}&quot;) do

            u = users(&#039;user1&#039;)

            u.send :&quot;#{name}=&quot;, &#039;&#039;
            assert !u.valid?
            assert u.errors.invalid?(:&quot;#{name}&quot;)

            u.send :&quot;#{name}=&quot;, nil
            assert !u.valid?
            assert u.errors.invalid?(:&quot;#{name}&quot;)
        end
        end
    end

Żeby się pozbyć redundancji to można blok send, assert, assert wyekstraktować do osobnej metody i jest &#039;zahardcodowane&#039; używanie z fixtures user1, które to też należałoby zmienić.</description>
		<content:encoded><![CDATA[<p>@Marek</p>
<p>Faktycznie, twój sposób jest elegancki, ale pozbądźmy się class_eval. Można wtedy zapisać to w ten sposób:</p>
<p>    def self.test_validates_presence_of(*args)<br />
        args.each do |name|<br />
            define_method(:&#8221;test_validation_#{name}&#8221;) do</p>
<p>            u = users(&#8216;user1&#8242;)</p>
<p>            u.send :&#8221;#{name}=&#8221;, &#8221;<br />
            assert !u.valid?<br />
            assert u.errors.invalid?(:&#8221;#{name}&#8221;)</p>
<p>            u.send :&#8221;#{name}=&#8221;, nil<br />
            assert !u.valid?<br />
            assert u.errors.invalid?(:&#8221;#{name}&#8221;)<br />
        end<br />
        end<br />
    end</p>
<p>Żeby się pozbyć redundancji to można blok send, assert, assert wyekstraktować do osobnej metody i jest &#8216;zahardcodowane&#8217; używanie z fixtures user1, które to też należałoby zmienić.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wiktor</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-58</link>
		<dc:creator>wiktor</dc:creator>
		<pubDate>Thu, 11 Oct 2007 09:05:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-58</guid>
		<description>Wstyd wstyd wstyd, ale błędu już nie ma :)</description>
		<content:encoded><![CDATA[<p>Wstyd wstyd wstyd, ale błędu już nie ma <img src='http://blog.mocna-kawa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daj Pan Spokój</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-57</link>
		<dc:creator>Daj Pan Spokój</dc:creator>
		<pubDate>Thu, 11 Oct 2007 06:31:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-57</guid>
		<description>A ja się doczepię o ortografię.
Powinno być &quot;załóżmy&quot;, a nie &quot;zaużmy&quot;. ;-)</description>
		<content:encoded><![CDATA[<p>A ja się doczepię o ortografię.<br />
Powinno być &#8220;załóżmy&#8221;, a nie &#8220;zaużmy&#8221;. <img src='http://blog.mocna-kawa.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marek Kirejczyk</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-60</link>
		<dc:creator>Marek Kirejczyk</dc:creator>
		<pubDate>Wed, 10 Oct 2007 22:30:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-60</guid>
		<description>It&#039;s more rails style ;)</description>
		<content:encoded><![CDATA[<p>It&#8217;s more rails style <img src='http://blog.mocna-kawa.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marek</title>
		<link>http://blog.mocna-kawa.com/2007/10/sprytne-testowanie-modelu-w-ruby-on-rails/comment-page-1/#comment-61</link>
		<dc:creator>Marek</dc:creator>
		<pubDate>Wed, 10 Oct 2007 22:22:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mocna-kawa.com/2007/10/10/sprytne-testowanie-modelu-w-ruby-on-rails/#comment-61</guid>
		<description>No niezle, ale mozna lepiej:
Zróbmy uniwersalną metodę do, testowania validates_presence_of we wszystkich modelach jakie kiedys napiszemy (Najlepiej włożyć do  modułu):

def self.test_validates_presence_of(*args)
    args.each do  &#124;name&#124;

      class_eval(&quot;

    def test_validation_#{name}
      u = users(&#039;user1&#039;)
      u.send :&quot;#{name}=&quot;, &#039;&#039;
      assert !u.valid?
      assert u.errors.invalid?(:&quot;#{name}&quot;)
      u.send :&quot;#{name}=&quot;, nil
      assert !u.valid?
      assert u.errors.invalid?(:&quot;#{name}&quot;)
    end
        &quot;)
    end
  end

I jej użyjmy:
  test_validates_presence_of :name, :middlename, :surname, :sex, :birthday</description>
		<content:encoded><![CDATA[<p>No niezle, ale mozna lepiej:<br />
Zróbmy uniwersalną metodę do, testowania validates_presence_of we wszystkich modelach jakie kiedys napiszemy (Najlepiej włożyć do  modułu):</p>
<p>def self.test_validates_presence_of(*args)<br />
    args.each do  |name|</p>
<p>      class_eval(&#8221;</p>
<p>    def test_validation_#{name}<br />
      u = users(&#8216;user1&#8242;)<br />
      u.send :&#8221;#{name}=&#8221;, &#8221;<br />
      assert !u.valid?<br />
      assert u.errors.invalid?(:&#8221;#{name}&#8221;)<br />
      u.send :&#8221;#{name}=&#8221;, nil<br />
      assert !u.valid?<br />
      assert u.errors.invalid?(:&#8221;#{name}&#8221;)<br />
    end<br />
        &#8220;)<br />
    end<br />
  end</p>
<p>I jej użyjmy:<br />
  test_validates_presence_of :name, :middlename, :surname, :sex, :birthday</p>
]]></content:encoded>
	</item>
</channel>
</rss>

