-
Notifications
You must be signed in to change notification settings - Fork 8
Test 작업 툴
-
참고 : [단언문과 단위 테스트] (https://github.com/funfunStudy/study/wiki/14%EC%9E%A5-%EB%8B%A8%EC%96%B8%EB%AC%B8%EA%B3%BC-%EB%8B%A8%EC%9C%84-%ED%85%8C%EC%8A%A4%ED%8A%B8)
-
TDD(Test-Driven Development) : 테스트 자체에 집중하여 개발
-
BDD(Behaviour-Driven Development) : 비지니스 요구사항에 집중하여 개발
-
동작주도개발 테스트 스타일은 기대하는 코드 동작을 사람이 읽을 수 있게 명세로 작성하고, 코드가 그 명세에 따라 동작하는지 확인하는 테스트를 함께 추가하는데 중점을
-
스칼라에서의 단위 테스트
-
가장 간단한 테스트 작성 방법은 org.scalatest.Suite를 확장하는 클래스를 만들어서, 그 안에 테스트 메소드를 정의
-
테스트 메소드 이름은 test로 시작
-
Suite 트레이트의 execute 메소드는 리플렉션(reflection)을 사용해 테스트 스위트 안에 있는 모든 테스트 메소드를 찾아서 실행
-
실패 보고 시 더 많은 정보 제공하기 ( === 연산자를 사용하면 비교 실패 시 더 많은 정보를 제공해 줌 )
-
ex> assert(ele.width === 2) = 실패 보고에서 '3 did not equal 2' 메세지가 출력된다.
-
단위테스트 도구
-
JUnit
-
TestNG
-
ScalaTest (http://www.scalatest.org)
-
specs
-
ScalaCheck
-
ScalaTest Intelli J 세팅 방법
- 플러그인에서 scala를 검색 & 설치
- sbt 프로젝트를 생성 ( 인터넷 속도에 따라 오래걸릴 수 있음)
- project ROOT Dir 에서 build.sbt에 아래 내용을 추가
libraryDependencies ++= Seq(
"org.scalactic" %% "scalactic" % "3.0.0-M15", "org.scalatest" %% "scalatest" % "3.0.0-M15" % "test")
- src > test > scala에 class 생성
-
ScalaTest Style (http://www.scalatest.org/user_guide/selecting_a_style) : 각 스타일은 trait으로 되어있어서 필요한 스타일을 extends 로 확장해서 쓰면 됨
-
FunSuite
-
FlatSpec
-
FunSpec
-
WordSpec
-
FreeSpec
-
함수형 언어로 테스트 코드를 짜게 되었을 경우 효율성
-
https://speakerdeck.com/jakewharton/testing-robots-kotlin-night-may-2016
-
Android Espresso
-
http://www.vogella.com/tutorials/AndroidTestingEspresso/article.html
-
https://google.github.io/android-testing-support-library/docs/espresso/