Esqueci de postar a solução, vou colocar para se no futuro alguém tiver a mesma dúvida.
Aproveitando dentro da trigger tem como pegar a tabela em vez de repetir o nome dela como eu fiz?
Abaixo segue como ficou a trigger.
CREATE OR REPLACE
TRIGGER TEST_TRIGGER
BEFORE INSERT ON TEST
FOR EACH ROW
declare
pragma autonomous_transaction;
total integer;
BEGIN
select count( :new.id_fk ) into total from test;
if total > 2
then
raise_application_error( -20005, 'testsjadjkasdhjsahdjsadjhsd' );
end if;
END;