渡された引数を返すようにJMockitを使ってメソッドをモックできますか?jmockit同じオブジェクトを返す
このような署名を考えてみましょう。
public String myFunction(String abc);
I seeこれは、Mockitoを使用して行うことができます。しかし、JMockitではこれが可能ですか?
渡された引数を返すようにJMockitを使ってメソッドをモックできますか?jmockit同じオブジェクトを返す
このような署名を考えてみましょう。
public String myFunction(String abc);
I seeこれは、Mockitoを使用して行うことができます。しかし、JMockitではこれが可能ですか?
JMockit manualは、いくつかのガイダンスを提供しています...私は本当にあなたがそれを読むことをお勧め。あなたが探しているコンストラクトは、おそらくこのようになります:
@Test
public void delegatingInvocationsToACustomDelegate(@Mocked final DependencyAbc anyAbc)
{
new Expectations() {{
anyAbc.myFunction(any);
result = new Delegate() {
String aDelegateMethod(String s)
{
return s;
}
};
}};
// assuming doSomething() here invokes myFunction()...
new UnitUnderTest().doSomething();
}
JMockitもcapture argumentsことができます:
@Test
public void testParmValue(@Mocked final Collaborator myMock) {
// Set the test expectation.
final String expected = "myExpectedParmValue";
// Execute the test.
myMock.myFunction(expected);
// Evaluate the parameter passed to myFunction.
new Verifications() {
{
String actual;
myMock.myFunction(actual = withCapture());
assertEquals("The parameter passed to myFunction is incorrect", expected, actual);
}
};
}
@Viv - お客様のニーズに最適な答えをお選びください。ありがとう。 – user6629913
あなたの答えをありがとう。私はwithCapture()を使って私が望むことをうまくやっていけませんでした。 – ViV
あなたはそれが簡単JMockitの「[偽造](http://jmockit.org/tutorial/Faking.html)」機能を使用するかもしれません。しかし、仮定を再検討し、これがあなたが本当にやりたいことであるかどうかを知りたいかもしれません。 – dcsohl