次の TestNG (6.3) テスト ケースでは、「Invalid context for the recording of expected」というエラーが生成されます。
@Listeners({ Initializer.class })
public final class ClassUnderTestTest {
private ClassUnderTest cut;
@SuppressWarnings("unused")
@BeforeMethod
private void initialise() {
cut = new ClassUnderTest();
}
@Test
public void doSomething() {
new Expectations() {
MockedClass tmc;
{
tmc.doMethod("Hello"); result = "Hello";
}
};
String result = cut.doSomething();
assertEquals(result, "Hello");
}
}
テスト中のクラスは以下です。
public class ClassUnderTest {
MockedClass service = new MockedClass();
MockedInterface ifce = new MockedInterfaceImpl();
public String doSomething() {
return (String) service.doMethod("Hello");
}
public String doSomethingElse() {
return (String) ifce.testMethod("Hello again");
}
}
@Listeners アノテーションを使用しているため、javaagent コマンドライン引数は不要であると想定しています。この仮定は間違っているかもしれません....
誰かが私が見逃したことを指摘できますか?