scalatest_2.11
버전 2.2.1을 사용하고 있습니다. SparkContext에서 실행되는 테스트를 작성하려고합니다. 테스트가 시작될 때 SparkContext를 시작하고,이 Sc를 사용하여 모든 테스트를 수행 한 다음, 모두 완료되면 SparkContext를 중지 할 수 있습니까?스칼라 : 테스트가 끝나면 어떻게 조치 할 수 있습니까?
(I는 그 자체가 중지 가정 것을 알고 있지만, I'sd 여전히 나 자신을 좋아)
scalatest_2.11
버전 2.2.1을 사용하고 있습니다. SparkContext에서 실행되는 테스트를 작성하려고합니다. 테스트가 시작될 때 SparkContext를 시작하고,이 Sc를 사용하여 모든 테스트를 수행 한 다음, 모두 완료되면 SparkContext를 중지 할 수 있습니까?스칼라 : 테스트가 끝나면 어떻게 조치 할 수 있습니까?
(I는 그 자체가 중지 가정 것을 알고 있지만, I'sd 여전히 나 자신을 좋아)
당신은 ScalaTest에서 BeforeAndAfterAll를 사용할 수 있습니다. SparkContext를 시작하고 중지하고 다른 테스트와 함께 사용하는 기본 특성을 정의하십시오.
trait SparkTest extends BeforeAndAfterAll {
self: Suite =>
@transient var sc: SparkContext = _
override def beforeAll {
val conf = new SparkConf().
setMaster("local[*]").
setAppName("test")
sc = new SparkContext(conf)
super.beforeAll()
}
override def afterAll: Unit = {
try {
sc.stop()
} finally {
super.afterAll
}
}
}
// Mix-in the trait with your tests like below.
class MyTest extends FunSuite with SparkTest {
test("my test") {
// you can access "sc" here.
}
}
체크 아웃 https://github.com/holdenk/spark-testing-base - 그을 수행하고 훨씬 더 구체적으로 https://github.com/holdenk/spark-testing-base를 살펴 /blob/master/src/main/1.3/scala/com/holdenkarau/spark/testing/SharedSparkContext.scala –
다음은 간단한 'beforeAll' 예입니다. https://github.com/kevinmeredith/scalatest_beforeAll_testing –