クラスをモックしている単体テストがありjava.net.URI
ます。NonStrictExpectation
さらに、特定の文字列を呼び出して返すことを期待している jMockit を作成していURI.getPath()
ます。
テスト対象のコードは 2 回呼び出さURI.getPath()
れ、毎回異なる文字列を送信する必要があります。
テスト中の私の実際の方法は次のとおりです。
public void validateResource() {
// some code
URI uri = new URI(link1.getHref());
String path1 = uri.getPath();
// some more code
uri = new URI(link2.getHref());
String path2 = uri.getPath();
}
ユニットテストコードは次のとおりです。
@Mocked URI uri;
@Test
public void testValidateResource() {
new NonStrictExpectations() {
{
// for the first invocation
uri.getPath(); returns("/resourceGroup/1");
// for the second invocation [was hoping this would work]
uri.getPath(); returns("/resource/2");
}
};
myObject.validateResource();
}
今、私は が 2 回目に呼び出され"/resource/2"
たときに、私の期待から返されたいと思っています。URI.getPath()
しかし、それは常に最初の期待値に達し、 を返します"/recourceGroup/1"
。これは私の問題です。
どうすれば実現できますか?StrictExpectations
いろいろな理由であまり使えないので、使い続けるしかありませんNonStrictExpectations
。