2.1 mock 객체 만들기 및 사용
@Mocked Dependency mockedDependency
@Test
public void test(final @Mocked AnotherDenpendency anotherDependency) {
new Expectations() {{
mockedDependency.mockedMethod();
result = 1;
}};
codeUnderTest();
new Verifications(){{
anotherDependency.anotherMethod();
times = 1;
}};
}
JMockit은
@Mocked
주석의 대상에 의존하여 주입하기 때문에 Expectation, Verication 및 CodeUnderTest에서 직접 모크 대상을 사용할 수 있으며 수동으로 실례화할 필요가 없다.CodeUnderTest에서 new를 통해 Dependency를 만들고 그 방법을 호출했습니다. JMockit은 자동으로 이 방법 호출을 mock 대상에 옮깁니다.
public class CodeUnderTest {
public int testMethod() {
Dependency dependency = new Dependency();
return dependency.mockMethod();
}
}
public class Dependency {
public int mockMethod() {
return 1;
}
}
Dependency 클래스의 mockMethod 메서드는 원래 반환 값이 1이고 Expectation에서 반환 값을 2로 설정하면 테스트 과정에서 이 메서드가 2로 반환됩니다.
@Mocked
Dependency dependency;
@Test
public void TestMethod() throws Exception {
new NonStrictExpectations() {{
dependency.mockMethod();
result = 2;
}};
CodeUnderTest codeUnderTest = new CodeUnderTest();
assertEquals(2, codeUnderTest.testMethod());
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.