Hatena::ブログ(Diary)

ushidayの日記 RSSフィード

2009-05-25

Grails1.1.xのUnitテスト

| 19:57

Grails1.1系は...?
  • Grails1.1系で「create-domain-class」、「create-controller」をしていたら、1.0系とテストのテストケースの雛形が作成されるディレクトリが変わった?ようで、忘れないようにメモっときます。(1.1のRelease Notes,Documentsを読めば書いてあるのだろうけど...)
mockDomainで?
  • 今まで「integration」ディレクトリ内でしか、テストをした事がなかったので気付かなかったのですが、「unit」ディレクトリ内では、インスタンス生成時に、ドメインクラスの動的メソッドは生成されず、明示的に生成する必要があるようです。「mockDomain(ドメインクラス名)」で動的メソッド生成。まだ解らない事が沢山ありそうです。orz
import grails.test.*

class PublisherTests extends GrailsUnitTestCase {
    protected void setUp() {
        super.setUp()
    }
    protected void tearDown() {
        super.tearDown()
    }
    void testValidation() {
    	//動的メソッド生成
    	mockDomain(Publisher)
    	def publisher = new Publisher()

    	publisher.name = ""
    	assertFalse publisher.validate()

    	publisher.name = "平成出版"
    	assertTrue publisher.validate()

    }

    void testPersistence(){

    	mockDomain(Publisher)
    	assertEquals 0,Publisher.count()

	new Publisher(name:"Test Publisher1").save()
	new Publisher(name:"Test Publisher2").save()
    	assertEquals(2,Publisher.count())
    	Publisher.get(2).delete()
    	assertEquals(1,Publisher.count())

    }

}

トラックバック - http://d.hatena.ne.jp/ushiday/20090525/1243249051