«mocking» 태그된 질문

모의 및 속임수는 실제로 다른 구성 요소 나 응용 프로그램의 종속성을 사용하지 않고 단위 테스트가 테스트 가능한 코드 단위에 대해서만 실행되도록 코드 또는 구성 요소를 분리하는 방법입니다. 모의는 모의가 검사 결과를 주장하기 위해 검사 될 수 있다는 점에서 위조와 다릅니다.


10
Mockito로 void 메소드를 조롱하는 방법
void 리턴 타입으로 메소드를 조롱하는 방법? 관찰자 패턴을 구현했지만 방법을 모르기 때문에 Mockito로 조롱 할 수 없습니다. 그리고 인터넷에서 예를 찾으려고했지만 성공하지 못했습니다. 내 수업은 다음과 같습니다. public class World { List<Listener> listeners; void addListener(Listener item) { listeners.add(item); } void doAction(Action goal,Object obj) { setState("i received"); goal.doAction(obj); setState("i finished"); } …

11
가짜, 조롱 및 스터 빙의 차이점은 무엇입니까?
이 용어를 어떻게 사용하는지 알고 있지만 단위 테스트를 위해 가짜 , 조롱 및 스터 빙에 대한 정의가 허용되는지 궁금합니다 . 테스트를 위해 이것을 어떻게 정의합니까? 각각을 사용할 수있는 상황을 설명하십시오. 사용 방법은 다음과 같습니다. Fake : 인터페이스를 구현하지만 고정 데이터를 포함하고 로직은없는 클래스입니다. 구현에 따라 단순히 "양호한"또는 "나쁜"데이터를 반환합니다. Mock …



6
Mockito가 여러 번 호출되는 메소드의 인수를 캡처 할 수 있습니까?
두 번 호출되는 메소드가 있으며 두 번째 메소드 호출의 인수를 캡처하려고합니다. 내가 시도한 것은 다음과 같습니다. ArgumentCaptor<Foo> firstFooCaptor = ArgumentCaptor.forClass(Foo.class); ArgumentCaptor<Foo> secondFooCaptor = ArgumentCaptor.forClass(Foo.class); verify(mockBar).doSomething(firstFooCaptor.capture()); verify(mockBar).doSomething(secondFooCaptor.capture()); // then do some assertions on secondFooCaptor.getValue() 그러나 TooManyActualInvocationsMockito doSomething는 한 번만 호출해야 한다고 생각 하므로 예외가 발생 합니다. 의 두 번째 호출의 인수를 …

1
Mockito를 사용하여 일부 방법을 조롱하십시오.
Mockito를 사용하여 클래스의 일부 메소드를 조롱하는 방법이 있습니까? 예를 들어, (시피 고안)에서 Stock클래스 I는 모의 할 getPrice()및 getQuantity()(아래 시험 조각에 도시 된 바와 같이) 반환 값이지만 I는 원하는 getValue()부호화로 곱셈을 수행하는 Stock클래스 public class Stock { private final double price; private final int quantity; Stock(double price, int quantity) { this.price …
402 java  mocking  mockito 

2
void 메소드가 예외를 던지는 Mockito 테스트
void반환 유형 이있는 메소드가 있습니다. 또한 많은 예외를 throw 할 수 있으므로 발생하는 예외를 테스트하고 싶습니다. 같은 이유로 모든 시도가 실패했습니다. Stubber 유형의 when (T) 메소드는 인수 (void)에 적용 할 수 없습니다. 특정 예외를 발생시키는 방법을 얻는 방법에 대한 아이디어가 있습니까? doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

3
메소드에 전달 된 리턴 값
인터페이스에 대한 방법이 있습니다. string DoSomething(string whatever); 나는 이것을 MOQ로 조롱하여 전달 된 모든 것을 반환합니다. _mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) ) .Returns( [the parameter that was passed] ) ; 어떤 아이디어?
390 c#  mocking  moq 

11
Mockito로 정적 메소드 조롱
java.sql.Connection객체 를 생성하기 위해 팩토리를 작성했습니다 . public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory { @Override public Connection getConnection() { try { return DriverManager.getConnection(...); } catch (SQLException e) { throw new RuntimeException(e); } } } 에 전달 된 매개 변수의 유효성을 검사하고 싶지만 DriverManager.getConnection정적 메서드를 조롱하는 방법을 모르겠습니다. 테스트 케이스에 JUnit 4와 …

14
Java를위한 최고의 모의 프레임 워크는 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

7
단위 테스트 데이터베이스 기반 응용 프로그램에 가장 적합한 전략은 무엇입니까?
백엔드에서 다양한 복잡성의 데이터베이스로 구동되는 많은 웹 응용 프로그램을 사용합니다. 일반적으로 비즈니스 및 프리젠 테이션 로직과 분리 된 ORM 계층이 있습니다. 이것은 비즈니스 로직의 단위 테스트를 매우 간단하게 만듭니다. 개별 모듈로 구현할 수 있으며 테스트에 필요한 모든 데이터는 객체 조롱을 통해 위조 될 수 있습니다. 그러나 ORM 및 데이터베이스 자체를 …

4
Mockito가 논쟁에 관계없이 방법을 쓸 수 있습니까?
Mockito를 사용하여 일부 레거시 코드를 테스트하려고합니다. FooDao프로덕션에서 사용되는 a 를 다음과 같이 스텁하고 싶습니다 . foo = fooDao.getBar(new Bazoo()); 난 쓸수있다: when(fooDao.getBar(new Bazoo())).thenReturn(myFoo); 그러나 명백한 문제는 내가 메서드를 스텁 한 getBar()것과 동일한 Bazoo객체로 호출되지 않는다는 것입니다. (그 new연산자를 저주하십시오 !) myFoo인수에 관계없이 반환되는 방식으로 메소드를 스텁 할 수 있다면 그것을 …

9
동일한 인수로 동일한 메소드를 여러 번 호출하여 Mockito 사용
스텁 된 메소드가 후속 호출에서 다른 오브젝트를 리턴하도록하는 방법이 있습니까? 의 결정되지 않은 응답을 테스트하기 위해이 작업을 수행하고 싶습니다 ExecutorCompletionService. 즉, 방법의 반환 순서와 상관없이 결과를 일정하게 유지합니다. 테스트하려는 코드는 다음과 같습니다. // Create an completion service so we can group these tasks together ExecutorCompletionService<T> completionService = new ExecutorCompletionService<T>(service); // …
289 java  mocking  mockito 

7
Jest를 사용하여 ES6 모듈 가져 오기를 어떻게 조롱 할 수 있습니까?
이것이 불가능하다고 생각하기 시작했지만 어쨌든 묻고 싶습니다. ES6 모듈 중 하나가 특정 방식으로 다른 ES6 모듈을 호출하는지 테스트하고 싶습니다. Jasmine을 사용하면 매우 쉽습니다. 앱 코드 : // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } 그리고 테스트 코드 : //myModule-test.js import myModule from '../myModule'; …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.