背景
上一篇文章简单学习了 Junit 单元测试语法,有一种情况是多个测试用例测试同一个类或者方法,因此需要参数化测试。
参考:https://stackoverflow.com/questions/4399881/parameterized-unit-tests-in-scala-with-junit4
在 Scala 中使用 JUnit 参数化测试比较坑,因此记录一个测试用例。
📢 主要步骤:
用例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| import com.bizseer.hubble.quoridor.config.TaskConfig import com.bizseer.hubble.quoridor.core.Quoridor import com.bizseer.hubble.quoridor.util.Utils.parseDatetime import com.bizseer.hubble.quoridor.instance.{AlertEvent, ModelInstance} import com.bizseer.hubble.quoridor.io.{GraphReader, ModelReader} import org.junit.{Assert, Test} import org.junit.runner.RunWith import org.junit.runners.Parameterized
import java.util import java.util.UUID
@RunWith(value = classOf[Parameterized]) class TestCases(time: String, events: Vector[(String, Int)], result: String) {
@Test def testCase(): Unit = { Assert.assertEquals( result, executeTestCase(this.time, this.events) ) }
def executeTestCase(time: String, events: Seq[(String, Int)]): String = { *** }
}
object TestCases { @Parameterized.Parameters def CASES: java.util.Collection[Array[AnyRef]] = { val cases = new util.ArrayList[Array[AnyRef]]()
cases.add( Array( "2022-01-27 17:05:00", Vector( ("sys_0002", 5) ), "sys_0002" ) )
cases } }
|