MUnit - это новая Scala библиотека тестирования с возможностями расширенной фильтрации .
Вот пример на веб-сайте, с которым я не могу работать:
import scala.util.Properties
import munit._
object Windows213 extends Tag("Windows213")
class MySuite extends FunSuite {
// reminder: type Test = GenericTest[Any]
override def munitNewTest(test: Test): Test = {
val isIgnored =
options.tags(Windows213) && !(
Properties.isWin &&
Properties.versionNumberString.startsWith("2.13")
)
if (isIgnored) test.withBody(() => Ignore)
else test
}
test("windows-213".tag(Windows213)) {
// Only runs when operating system is Windows and Scala version is 2.13
}
test("normal test") {
// Always runs like a normal test.
}
}
Изменение с options.tags
на test.tags
устраняет одну из ошибок.
В строке if (isIgnored) test.withBody(() => Ignore)
все еще происходит ошибка с этим сообщением:
[error] /Users/powers/Documents/code/my_apps/munit-example/src/test/scala/com/github/mrpowers/munit/example/RichFiltersSpec.scala:16:40: type mismatch;
[error] found : munit.Tag
[error] required: MySuite.this.TestValue
[error] (which expands to) scala.concurrent.Future[Any]
[error] if (isIgnored) test.withBody(() => Ignore)
[error] ^
[error] one error found
[error] (Test / compileIncremental) Compilation failed
Обновление
Функция в настоящее время не работает , но планируется исправить .
В этом блоге обсуждается эта функция.
Будет сообщать об обновлении, когда пример будет исправлен.