theme_field() render array I hoped the documentation for theme_field() would tell me how to create a render array that may be parsed by that function.

Based on that, I thought something like this would work.

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


It prints a &amp;nbsp;.

what am I doing wrong?

The ultimate goal is of course printing some field_items, but I can find no documentation on how the render array for #items should look; nothing I tried outputs anything. 

A pointer to better documentation might answer my questions.
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.