Tests

Play 1.2.x

Test – Unit Tests

@Test public void getRental() { ... }
@Test (expected = NumberFormatException.class )
@Ignore
全てのエラーを無視します。

@Test (timeout=400)
テストは 400 ミリ秒後に失敗します。

@Before public void prepareRecords();
各ユニットテストの前に実行されます。

@After public void cleanupJunk()
各ユニットテストの後に実行されます。

@BeforeClass void whenTestClassInstanciated();
当該テストクラスがインスタンス化されたときに一度だけ実行されます。

@AfterClass void whenTestClassCompleted()
当該テストクラスにある全てのテストが終了した時に一度だけ実行されます。

Assert.assert
たくさんのアサーションがあります。どのようなものがあるかは調べてください。

Test – Functional Tests

public class ApplicationTest extends FunctionalTest
機能テストは HTTP を取り入れたユニットテストです。

newRequest()
newResponse()
GET(request, url)
PUT(request, url)
POST(request,url)
DELETE(request,url)
assertStatus(404, response)
assertHeaderEquals(headerName, value, response)
assertContentEquals(content, response)
assertContentType(type,response)
clearCookies()

Test – Selenium Tests

#{selenium}
clearSession()
open(‘/admin’)
assertTextPresent(‘Login’)
type(‘login’, ‘admin’)
type(‘password’, ‘secret’)
clickAndWait(‘signin’)

// ユーザが正常にログインしているか検証します。
assertText(‘success’, ‘Welcome admin!’)
#{/selenium}

Test – Data loader

@Before public void setUp() { Fixtures.deleteAll();
Fixtures.load("data.yml");}
Fixtures はユニットテストを実行する前にデータストアを初期化するために使用します。

#{fixture delete:'all', load:'data.yml' /}
#{selenium} ... #{/selenium}
Selenium テストを使うときも同様に出来ます。