홈>
다음과 같이 "테스트중인 모든 코드를 실행 한 후에 확인해야합니다"라는 오류가 표시됩니다.
class CowTest extends MockFactory {
Cow.init(testCowProcesses)
@Test
def noProcessesTest: Unit = {
val cow: Cow = Cow(testCowProcesses)
cow.simulateOneDay(0 nanoseconds)
}
@Test
def processSimulationTest: Unit = {
val NUMBER_OF_TRIES: Int = 10
val cow: Cow = Cow(testCowProcesses)
for (ii <- 0 until NUMBER_OF_TRIES) {
cow.simulateOneDay(0 nanoseconds)
}
(cow.metabolicProcess.simulateOneDay _).verify(0 nanoseconds).repeated(NUMBER_OF_TRIES)
}
}
testCowProcesses
다음과 같이 다른 파일에 정의되어 있습니다 (약어) :
object CowTesters extends MockFactory {
val metProc = stub[MetabolicProcess]
(metProc.replicate _).when().returns(metProc)
val testCowProcesses = CowProcesses(metProc)
}
오류 메시지를 잘 이해하지 못합니다. 내가
verify
를 언급하면
라인 테스트가 실행됩니다. 또는 첫 번째 테스트를 주석 처리하면 두 번째 테스트를 실행할 수 있습니다. 테스트 클래스에는 다른 테스트가 없습니다. 이것은 mockito에서 스터브 객체를 재사용 할 수 없음을 나타냅니다 (mockito의 코드를 조정하고 있습니다).
CowTesters
를 변환하여 모의 객체를 다시 인스턴스화하는 가장 좋은 솔루션입니다
class
로
?
수정 :
위의 제안이 효과가 있음을 확인했지만 (최고인지 확실하지는 않지만) 그 동안 컴파일을 통해 좀 더 복잡하게 만들었습니다.
//TODO: once all tests are converted to ScalaMock,
//TODO: just make this a class with a companion object
trait CowTesters extends MockFactory {
val metProc = stub[MetabolicProcess]
(metProc.replicate _).when().returns(metProc)
val testCowProcesses = CowProcesses(metProc)
}
object CowTesters extends CowTesters {
def apply(): CowTesters = new CowTesters {}
}
- 답변 # 1
관련 자료
- storage - Android에서 새 microSD 카드에 폴더가있는 것으로 나타나야합니까?
- python - conda 환경을 활성화 한 후 jupyter 노트북 및 ipython이 올바른 경로를 사용하지 않습니다
- c++ - 생성자에서 이동/스와핑 한 후 중간 벡터를 어떻게 관리해야합니까?
- c# - 처음 실행 한 후 PXSmartPanel에 올바른 데이터가 표시되지 않는 이유는 무엇입니까?
- 클라이언트 (PHP 웹 앱)가 실제 API (Java)에서 올바른 응답을 받았는지 확인하는 방법은 무엇입니까?
- python - 모든 실행 또는 루프 후에 커밋해야합니까?
- html - div에서 애니메이션이 하나씩 나타나도록 애니메이션을 지연시키고 싶습니다 어떻게 할 수 있습니까?
- javascript - withRouter를 사용한 후 라우터 외부의 경로를 사용해서는 안됩니다
- java - viewmodel을 사용한 후 변경된 데이터를 표시하는 방법
- javascript - 언제 나타나고 어떤 후에 사라지는 템플릿을 만들고 싶습니다 어떻게 숨길 수 있습니까?
- python - csv e netcdf 파일에서 반복자가 바이트가 아닌 문자열을 반환해야합니까 (텍스트 모드에서 파일을 열었습니까?)?
관련 질문
- ScalaMock : 약간의 공차 내에서 두 배를 기대합니다
- scala : 많은 팔 보호구로 어떻게 모의를 할 수 있습니까?
- scala : 인수로 구성이있는 모의 클래스
- asynchronous : ScalaMock은 결국 기대합니다
- ScalaMock을 사용하여 함수가 특정 Spark Dataframe 매개 변수로 호출되었고 유용한 출력을 갖는지 평가하는 방법
- scalamock - 매개 변수를 가져 와서 유효성을 검사하는 클래스를 조롱하는 방법은 무엇입니까?
- scala - scalamock으로 수업을 부분적으로 조롱
- scala - HttpResponse를 조롱하는 ScalaMock 난이도
- scala - 테스트를 위해 케이스 클래스 조롱
- scalatest - 다른 방법 스칼라 내부의 조롱 방법
위의 코드에서 JUnit 또는 TestNG를 사용하려고하는 것 같습니다. ScalaMock은 이러한 프레임 워크 중 하나를 직접 지원하지 않기 때문에 모의 검증에 어려움을 겪고 있습니다. ScalaTest 또는 Specs2를 사용하여 테스트를 구현해야합니다. http://scalamock.org/user-guide/integration/
참조예를 들어, JUnit에서 ScalaTest 로의 변환은 매우 간단해야합니다. FunSuite : http://www.scalatest.org/user_guide/selecting_a_style