Java/JMock
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**DAOのスタブを書くのがめんどくさい [#j689f327]
よくある
View -> BL -> DAO -> DB
の形式で、BLの単体テストを行うときにDAOの実装をどうするか...
通常自前でスタブをカリカリ書いていくと、JUnitのテストケー...
package nu.mine.kino;
import junit.framework.TestCase;
public class SampleBLTest extends TestCase {
private SampleBL bl; <-テスト対象のBL
private ISampleDAO mockDao; <-スタブ
private String input = "hoge";
@Override
protected void setUp() throws Exception {
super.setUp();
bl = new SampleBL();
}
/**
* {@link nu.mine.kino.SampleBL#getMessage(java.lang...
*/
public void testGetMessage() {
// ここでMockなDAOを作成している
mockDao = new ISampleDAO() {
public String create(SampleModel newInstance...
return null;
}
public void delete(SampleModel persistentObj...
}
public SampleModel read(String id) {
SampleModel sampleModel = new SampleMode...
sampleModel.setName(id);
return sampleModel;
}
public void update(SampleModel transientObje...
}
};
// でBLにセット。
bl.setDao(mockDao);
// セットされた状態で、単体テスト。
SampleModel expected = new SampleModel();
expected.setName("hoge");
SampleModel actual = bl.getMessage(input);
assertEquals(modelToString(expected), modelToStr...
// fail("まだ実装されていません。");
}
public static String modelToString(SampleModel model...
return model.getName();
}
}
で、この
mockDao = new ISampleDAO() {
public String create(SampleModel newInstance) {
return null;
}
public void delete(SampleModel persistentObject) {
}
public SampleModel read(String id) {
SampleModel sampleModel = new SampleModel();
sampleModel.setName(id);
return sampleModel;
}
public void update(SampleModel transientObject) {
}
};
ってところをどうにかできないかなあって話です。
ようするにこれ、振る舞いをいちいち書くのがめんどくさいわ...
**JMock [#kd6356bf]
[[JMock>http://www.jmock.org/]]は、先のスタブを効率よく記...
----
この記事は
#vote(おもしろかった[1],そうでもない[3])
- mockitoも結構いいですよ。 -- [[こんぴろ]] &new{2011-02-...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
**DAOのスタブを書くのがめんどくさい [#j689f327]
よくある
View -> BL -> DAO -> DB
の形式で、BLの単体テストを行うときにDAOの実装をどうするか...
通常自前でスタブをカリカリ書いていくと、JUnitのテストケー...
package nu.mine.kino;
import junit.framework.TestCase;
public class SampleBLTest extends TestCase {
private SampleBL bl; <-テスト対象のBL
private ISampleDAO mockDao; <-スタブ
private String input = "hoge";
@Override
protected void setUp() throws Exception {
super.setUp();
bl = new SampleBL();
}
/**
* {@link nu.mine.kino.SampleBL#getMessage(java.lang...
*/
public void testGetMessage() {
// ここでMockなDAOを作成している
mockDao = new ISampleDAO() {
public String create(SampleModel newInstance...
return null;
}
public void delete(SampleModel persistentObj...
}
public SampleModel read(String id) {
SampleModel sampleModel = new SampleMode...
sampleModel.setName(id);
return sampleModel;
}
public void update(SampleModel transientObje...
}
};
// でBLにセット。
bl.setDao(mockDao);
// セットされた状態で、単体テスト。
SampleModel expected = new SampleModel();
expected.setName("hoge");
SampleModel actual = bl.getMessage(input);
assertEquals(modelToString(expected), modelToStr...
// fail("まだ実装されていません。");
}
public static String modelToString(SampleModel model...
return model.getName();
}
}
で、この
mockDao = new ISampleDAO() {
public String create(SampleModel newInstance) {
return null;
}
public void delete(SampleModel persistentObject) {
}
public SampleModel read(String id) {
SampleModel sampleModel = new SampleModel();
sampleModel.setName(id);
return sampleModel;
}
public void update(SampleModel transientObject) {
}
};
ってところをどうにかできないかなあって話です。
ようするにこれ、振る舞いをいちいち書くのがめんどくさいわ...
**JMock [#kd6356bf]
[[JMock>http://www.jmock.org/]]は、先のスタブを効率よく記...
----
この記事は
#vote(おもしろかった[1],そうでもない[3])
- mockitoも結構いいですよ。 -- [[こんぴろ]] &new{2011-02-...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: