2017-02-17 6 views
0

У меня клонированная установка Spark. Он имеет набор микрообъектов, который расположен here. Если я просматриваю конкретный файл, например. AggregateBenchmark.scala, я вижу инструкции в комментариях для выполнения тестов.Запуск искровых микрочипов с использованием sbt

* To run this: 
* build/sbt "sql/test-only *benchmark.AggregateBenchmark" 

Я попытался выполнить вышеуказанную команду в папке проекта, но каждый раз игнорирует эталонные тесты. Ниже приведен вывод вышеприведенной команды.

[info] AggregateBenchmark: 
[info] - aggregate without grouping !!! IGNORED !!! 
[info] - stat functions !!! IGNORED !!! 
[info] - aggregate with linear keys !!! IGNORED !!! 
[info] - aggregate with randomized keys !!! IGNORED !!! 
[info] - aggregate with string key !!! IGNORED !!! 
[info] - aggregate with decimal key !!! IGNORED !!! 
[info] - aggregate with multiple key types !!! IGNORED !!! 
[info] - cube !!! IGNORED !!! 
[info] - hash and BytesToBytesMap !!! IGNORED !!! 
[info] ScalaCheck 
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0 
[info] Warning: Unknown ScalaCheck args provided: -oDF 
[info] ScalaTest 
[info] Run completed in 1 second, 393 milliseconds. 
[info] Total number of tests run: 0 
[info] Suites: completed 1, aborted 0 
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 9, pending 0 
[info] No tests were executed. 
[info] Passed: Total 0, Failed 0, Errors 0, Passed 0, Ignored 9 
[success] Total time: 94 s, completed Feb 17, 2017 2:57:21 PM 

Есть ли что-то, что мне здесь не хватает? Какие дополнительные флаги необходимо выполнить команде для запуска тестов?

ответ

1

К сожалению, нет способа запуска игнорируемых тестов из CLI без изменения источника.

Тестирование микро-тестов, которое вы ссылаетесь, написано с использованием FunSuite и использует систему тегов Ignore. В этом API нет возможности не выполнять тесты. Для получения дополнительной информации о FunSuite и игнорировании тестов см. Здесь: http://doc.scalatest.org/3.0.1/#org.scalatest.Ignore

Игнорирование теста несколько похоже на просто комментирование теста в исходном коде, но оно имеет то преимущество, что исходный код должен быть видимым для компилятора, чтобы тесты могли поддерживать и обновлять исходный текст, который они тестируют. Разработчики предпочитают игнорировать тесты по многим причинам, хотя в этом случае это связано с тем, что выполнение микро-тестов довольно дорого, как часть единичного набора тестов.

Единственный способ запуска тестов - использовать редактор по вашему желанию и изменить вызовы методов для тестов с ignore(...) на test(...), перекомпилировать, а затем запустить тесты.

+0

Ответы на мой вопрос. Благодаря! – user2512324