theme_field() render array
If you absolutely need to piggyback on theme_field() rather than implement your own theme function (which would be preferable IMHO), then you'll have to jump through a few more hoops.

The key place to look is template_preprocess_field(), which will show you all of the elements that are expected to be in the array. Specifically for the label, the #title property is used. So this

return array(
  'test' =&gt; array(
    '#theme'                =&gt; 'field',
    '#label_hidden'         =&gt;  false,
    '#title_attributes'     =&gt; 'class="test123"',
    '#label'                =&gt; 'test',
    '#title' =&gt; 'test',  // Required
    '#label_display' =&gt; 'visible',  // Required
    '#content_attributes'   =&gt; 'class="test456"',
    '#items'    =&gt; array()
  )
);


will return what you're looking for (with a bunch of notices about undefined indicies).

Eventually you'll also need to provide #field_name, #field_type, #bundle and #entity_type for each of your 'field' items.