testes • Casos de uso comum incluem: orquestração de tarefas, preparação de recursos temporários (pastas, servidores, etc) • Evitam as famosas classes BaseTest
[6,8] @RunWith(Parameterized::class) class FibonacciTest( val input: Int, val expected: Int ) { companion object { @JvmStatic @Parameterized.Parameters fun data() = // input data } @Test fun assertNFibonacci() { assertEquals( expected, Fibonacci.compute(input) ) } } Input
[6,8] @RunWith(Parameterized::class) class FibonacciTest( val input: Int, val expected: Int ) { companion object { @JvmStatic @Parameterized.Parameters fun data() = // input data } @Test fun assertNFibonacci() { assertEquals( expected, Fibonacci.compute(input) ) } } Input
[6,8] @RunWith(Parameterized::class) class FibonacciTest( val input: Int, val expected: Int ) { companion object { @JvmStatic @Parameterized.Parameters fun data() = // input data } @Test fun assertNFibonacci() { assertEquals( expected, Fibonacci.compute(input) ) } } Input
[6,8] @RunWith(Parameterized::class) class FibonacciTest( val input: Int, val expected: Int ) { companion object { @JvmStatic @Parameterized.Parameters fun data() = // input data } @Test fun assertNFibonacci() { assertEquals( expected, Fibonacci.compute(input) ) } } Input
Implementação melhorada da parametrização do JUnit • Não é necessário campos estáticos na hora de prover os dados de entrada • Desenvolvida pela Square • Usa Enums em vez de Object https://github.com/square/burst