以下の内容はhttps://irof.hateblo.jp/entry/20121201/p1より取得しました。


寝坊対策にTimeoutを設定する

『JUnit実践入門』写経・実践会 in 大阪 - connpass を開催しました!

寝坊しました

こんなテストになってたんですよ。

	@Test
	public void 起きられる() throws Exception {
		sut.wakeUp();

		assertThat(sut.isAwake(), is(true));
	}

「どんなに時間がかかっても起きればOK!」となっていたので、寝坊しようがしまいがGREENになってしまってたんです。

タイムアウトを設定する

	@Test(timeout=1000)
	public void 起きられる() throws Exception {
		sut.wakeUp();

		assertThat(sut.isAwake(), is(true));
	}

これで「時間以内に起きられなければ失敗する」テストになりました。寝坊したらちゃんとREDになるので安心ですね!


詳しくはJUnit実践入門のP.52, 151 をご参照下さい。

蛇足

起こされる対象がwakeUpを持つのはどうなんだとか、時間かかるのはどこなんだとか、getStatusにStatus返させてコールバックするのがいいんじゃないかとか、なんとか。
あとgetUpメソッドにしようとしたらUpが取得できそうでこまるとか、そんな話してました。真面目にクラス設計考えると終わらないのでこれで。




以上の内容はhttps://irof.hateblo.jp/entry/20121201/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14