I have had the same problem - it isn't possible yet to use records or arrays as parameters in the Sqldeveloper unittest.
What I did was to send the parameter (the record) as a varchar2 - string and then rebuild the record again from the string.
CREATE OR REPLACE FUNCTION fn_emp_det
p_emp_id IN employee.emp_id%TYPE,
p_emp_row_str OUT VARCHAR2
) RETURN BOOLEAN IS
p_emp_row OUT employee%ROWTYPE;
SELECT * INTO p_emp_row FROM employee WHERE emp_id = p_emp_id;
p_emp_row_str:= to_char(p_emp_row.emp_id)||','||p_emp_row.ename||','||p_emp_row.job||','||to_char(p_emp_row.number); --etc
This issue will not be seen with the latest version of SQL Developer. But still, in latest version also, the ROWTYPE variables are not processed correctly. If anybody has successfully processed a ROWTYPE variable (IN or OUT parameter) successfully, please share a sample.