En Nunit, cuando intentas ejecutar codigo de prueba que utilice el portapapeles(o cualquier objeto OLE para tal caso), el .NET se queja de que “el hilo actual debe establecerse en single threaded apartment STA antes de realizar llamadas OLE”

Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it.

Para ello debes crear un archivo de configuracion donde especifiques que la prueba se ejecute en un contexto STA, el archivo debe contener al menos lo siguiente

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
  <configSections>
    <sectionGroup name=”NUnit”>
      <section name=”TestRunner” type=”System.Configuration.NameValueSectionHandler”/>
    </sectionGroup>
  </configSections>

  <NUnit>
    <TestRunner>
      <add key=”ApartmentState” value=”STA” />
    </TestRunner>
  </NUnit>
</configuration>

La ubicación y el nombre del archivo de configuración depende de como cargues la prueba, ya sea cargando directamente el ensamblado, un proyecto de nunit, un proyecto o una solución de visual studio. Yo lo hago mediante el archivo de la solución de visual studio; es por ello que en el mismo directorio donde se encuentra ubicado este archivo colocó uno con el mismo nombre que la solución pero anexando la extensión .config y con el contenido expuesto en la parte superior.

Para leer un archivo desde código java que se ejecute en el servidor(JBoss) hay que tener en cuenta que el directorio actual de cualquier código ejecutandose en JBoss es

directorio_de_jboss/bin

Partiendo de esto, cuando intentemos leer un archivo utilizando una ruta relativa, jboss lo buscará a partir de esa carpeta.
Por ejemplo, supongamos que tengo instalado JBoss en la carpeta /opt/jboss-5.0.1.GA/. Si queremos leer un archivo llamado rptResumen.xml debemos copiar dicho archivo a la carpeta /opt/jboss-5.0.1.GA/bin, con ello podremos leer el archivo mediante

new FileReader(“rptResumen.xml”)

si lo colocamos bajo un subdirectorio llamado “reportes” sería

new FileReader(“reportes/rptResumen.xml”)

o también lo podemos hacer a través de la ruta completa

new FileReader(“/opt/jboss-5.0.1.GA/bin/reportes/rptResumen.xml”)