Oi Matheus,
O método assertThrows
tem como segundo parâmetro a interface Executable
, que é uma interface funcional(interface com apenas 1 método abstrato) e portanto podemos passar um lambda como parâmetro.
O lambda a ser passado vai depender da assinatura do método abastrato da interface funcional, que no caso da interface Executable é um método sem retorno e sem parâmetros. Justamente por isso que ficou o () vazio. Precisa desse abre e fecha parêntesis por conta da sintaxe lambda do Java mesmo.
Bons estudos!