E D R , A S I H C RSS

BackLinks search for "MockObjects"

BackLinks of MockObjects


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MockObject Redirect page
         #redirect MockObjects
  • MockObjects
          -> MockObjects 자체가 인터페이스정의를 위한 도구로 이용할 수 있다. (TestFirstProgramming 에서는 Test Code가 일종의 인터페이스를 정의하기 위한 방법으로 이용된다.)
         본래 MockObjects 관련 글은 Java 소스이지만 각 언어에 따라 나름대로 구현할 방법이 있겠다.
          * [http://no-smok.net/seminar/moin.cgi/mockobect_2epy mockobject.py] - Python MockObjects framework
          * 이용방법 - [http://xper.org/wiki/seminar/MockObjects MockObjects] 를 참조.
          * http://www.mockobjects.com/endotesting.html.
          * http://www.mockobjects.com/papers/jdbc_testfirst.html - MockObjects를 이용한 JDBC 어플리케이션 TestFirstProgramming
          * [http://www.pragmaticprogrammer.com/starter_kit/ut/mockobjects.pdf Using Mock Objects] (extracted from pragmatic unit testing)
  • ProjectPrometheus/Journey
          * MockObjects 를 이용, Database 에 대해서 MockObjects Test 와 Real DB Test 를 같이 해 나가보았다. DB - Recommendation System 연결을 위해서는 RS 에서의 object 들과 DB 와의 Mapping 이 필요하다고 판단, DB Schema 를 같이 궁리한 뒤, Test 를 작성하였다. 이때 이전 기억을 떠올리면서 MockObjects Test 를 상속받아서 Real DB Test 를 작성하는 식으로 접근해봤는데 좋은 방법이라 생각.
         '과연 사람들이 이 소스를 보고 나서 MockObjects 를 적극적으로 이용하려고 할까?' 라는 점. (STL 을 좀 많이 써서. ^^;)
  • UnitTest
         A: Socket 이나 Database를 이용하는 경우에는 문제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 한데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
         A: MockObjects가 최적입니다. Socket이나 Database Connection과 동일한 인터페이스의 "가짜 객체"를 만들어 내는 겁니다. 그러면 Socket 에러 같은 것도 임의로 만들어 낼 수 있고, 전체 테스팅 시간도 훨씬 짧아집니다. 하지만 "진짜 객체"를 통한 테스트도 중요합니다. 따라서, Socket 연결이 제대로 되는가 하는 정도만(최소한도로) "진짜 객체"로 테스팅을 하고 나머지는 "가짜 객체"로 테스팅을 대체할 수 있습니다. 사실 이런 경우, MockObjects를 쓰지 않으면 Test Code Cycle을 통한 개발은 거의 현실성이 없거나 매우 비효율적입니다. --김창준
  • TestFirstProgramming
         후자의 경우는 해당 코드의 구조를 테스트해나가는 방법으로, 해당 코드의 진행이 의도한 상황에 맞게 진행되어가는지를 체크해나가는 방법이다. 이는 MockObjects 를 이용하여 접근할 수 있다. 즉, 해당 테스트하려는 모듈을 MockObject로 구현하고, 호출되기 원하는 함수들이 제대로 호출되었는지를 (MockObjects 의 mockobject.py 에 있는 ExpectationCounter 등의 이용) 확인하거나 해당 데이터의 추가 & 삭제관련 함수들이 제대로 호출되었는지를 확인하는 방법 (ExpectationList, Set, Map 등의 이용) 등으로서 접근해 나갈 수 있다.
         Random 은 우리가 예측할 수 없는 값이다. 이를 처음부터 테스트를 하려고 하는 것은 좋은 접근이 되지 못한다. 이 경우에는 Random Generator 를 ["MockObjects"] 로 구현하여 예측 가능한 Random 값이 나오도록 한 뒤, 테스트를 할 수 있겠다.
         이 경우에도 ["MockObjects"] 를 이용할 수 있다. 기본적으로 XP에서의 테스트는 자동화된 테스트, 즉 테스트가 코드화 된 것이다. 처음 바로 접근이 힘들다면 Mock Server / Mock Client 를 만들어서 테스트 할 수 있겠다. 즉, 해당 상황에 대해 이미 내장되어 있는 값을 리턴해주는 서버나 클라이언트를 만드는 것이다. (이는 TestFirstProgramming 에서보단 ["AcceptanceTest"] 에 넣는게 더 맞을 듯 하긴 하다. XP 에서는 UnitTest 와 AcceptanceTest 둘 다 이용한다.)
  • XpWeek/20041224
         알바하느라 소홀히 한점이 아쉽다. 또한 MockObjects에 대한 이해가 부족하여 TDD로 진행하지 못한 점이 아쉽다. 5일간 쉼없이 달려왔는데 아직 미흡한 점이 많다. 혼자 리펙토링을 해보았지만 별로 재미 없었다. 구피에서 돌릴 수 있도록 간단한 리펙토링하고 GUI 기능을 추가하고 싶다. 다음주중 하루 잡아서 하는게 어때?? 그리고 나의 최종 목표는 테스트코드를 추가하는 것이다. TDD는 아니지만 네트워크에 대한 MockObjects를 구현해보고 싶다. -- 재선
          사실 네트워크에 대한 MockObjects는 어렵지 않았던 것 같아. JUnit에서 제공하는 MockObject클래스를 소켓에 써먹는 방법에 집착한 나머지 포기하지 않았을까? 단순히 서버와 클라이언트 흉내만 내면 될텐데...
Found 6 matching pages out of 7540 total pages

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:47
Processing time 0.0068 sec