テストの書き方を学ぼうとしています。私はJavaも学んでいます。jMockを学び/使用/実践する必要があると言われました.
http://www.theserverside.com/news/1365050/Using-JMock-in-Test-Driven-Development
http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock
そして、私が見つけたほとんどの記事は、テスト駆動開発に関するものでした。最初にテストを書き、次にテストに合格するためのコードを書きます。現時点ではそれを探していません。jMock を使用して既存のコードのテストを作成しようとしています。
公式ドキュメントは控えめに言っても曖昧で、私には難しすぎます。誰かがこれを学ぶためのより良い方法を持っていますか? 良い本/リンク/チュートリアルは私を大いに助けてくれます. ありがとうございました
編集 - より具体的な質問:
http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock - この記事から
この単純なクラスをモックするためにこれを試しました:
import java.util.Map;
public class Cache {
private Map<Integer, String> underlyingStorage;
public Cache(Map<Integer, String> underlyingStorage) {
this.underlyingStorage = underlyingStorage;
}
public String get(int key) {
return underlyingStorage.get(key);
}
public void add(int key, String value) {
underlyingStorage.put(key, value);
}
public void remove(int key) {
underlyingStorage.remove(key);
}
public int size() {
return underlyingStorage.size();
}
public void clear() {
underlyingStorage.clear();
}
}
テスト/モックを作成しようとした方法は次のとおりです。
public class CacheTest extends TestCase {
private Mockery context;
private Map mockMap;
private Cache cache;
@Override
@Before
public void setUp() {
context = new Mockery() {
{
setImposteriser(ClassImposteriser.INSTANCE);
}
};
mockMap = context.mock(Map.class);
cache = new Cache(mockMap);
}
public void testCache() {
context.checking(new Expectations() {{
atLeast(1).of(mockMap).size();
will(returnValue(int.class));
}});
}
}
それはテストに合格し、基本的に何もしません。私が望んでいたのは、マップを作成してそのサイズを確認することでした。より良いトラフの例を理解してください。ここで他に何をテストできるか、または他の演習が大いに役立ちます。tnx