simulate sending file in functional test

I have this controller method: def create_stk     eval <<-EOS     @#{@controller_varname} = @class_controller.find(@params[:id])     if params[@controller_varname][:stk].content_type.chomp == 'application/pdf' then       @#{@controller_varname}.stk = params[@controller_varname][:stk].read       if @#{@controller_varname}.save   flash['notice'] = 'STK #{Inflector.titleize(@controller_varname)} berhasil dibuat.'   redirect_to :controller => 'element'       else   render_action 'create_stk'       end     else       flash[:notice] = 'Dokumen yang dikirim harus berformat pdf.'       redirect_to :action => 'new_stk', :id => @params[:id]     end     EOS   end

I want to test it with functional test. First I have to tell you what the controller is doing? It just accept file that somebody send, check the type ( must be pdf ), then put in attribute of database record that already exists. So I want to test if somebody does not send pdf file, the view must display some warnings. But how do you emulate sending file in controller test. Here is the test method: def test_send_invalid_stk     post :create_stk, { :id => @don_dafii_order.id, :thermo_detector => { :stk => '' }}   end

:stk is the file parameter. If I execute this, it complains there is no content_type method for string.

Thank you.