Pregunta

Tengo un cuadro de integración continuo Server 2008, en el que quiero usar Gallio para ejecutar mis MSTEST y PartCover para mi tablero de sonar.

Instalé Gallio 3.3.1 x64 junto con ParteCover, y así sucesivamente.

Gallio funciona a través de ICARUS en mis asambleas de prueba (gracias a este responder)

Sin embargo, a través de SONAR, tengo este rastreo de registro desconcertante (ver Bellow). A pesar de que mis ensambles de pruebas están calificados como proyecto de prueba, el mensaje de error para Gallio es

'Embedded error: Gallio execution failed.
No test assembly was found. Please check your project's Gallio plugin configuration.'

¿Alguna idea sobre cómo rastrear y solucionar este problema?

Gracias,

Nota: Por alguna razón, no pude publicar esta pregunta en el grupo Gallio-User, así que lo intento allí.

[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:2.11:sonar
[INFO] [sonar:sonar {execution: default-sonar}]
[INFO]  Database dialect class org.sonar.jpa.dialect.Derby
[INFO]  Initializing Hibernate
[INFO]  The following 'sln' file has been found and will be used: D:\toto.sln
[INFO]  The project 'toto.Test' has been qualified as a test project.
[INFO]  The project 'titi.Test' has been qualified as a test project.

[INFO]  -------------  Analyzing toto
[INFO]  Selected quality profile : [name=Sonar C# Way,language=cs]
[INFO]  Configure maven plugins...
[INFO]  Compare to previous analysis (2011-11-30)
[INFO]  Compare over 5 days (2011-11-25, analysis of 2011-11-29 10:52:11.443)
[INFO]  Compare over 30 days (2011-10-31, analysis of 2011-11-29 10:52:11.443)
[INFO]  Initializer CSharpProjectInitializer...
[INFO]  Initializer CSharpProjectInitializer done: 6 ms
[INFO]  Skipping the non generated assembly of project : toto
[INFO]  No assembly to check with Gendarme
[INFO]  Skipping the non generated assembly of project : toto
[INFO]  No assembly to check with FxCop
[INFO]  Sensor org.sonar.plugins.csharp.core.CSharpSourceImporter@1acc1c2...
[INFO]  Sensor org.sonar.plugins.csharp.core.CSharpSourceImporter@1acc1c2 done: 116 ms
[INFO]  Sensor com.sonar.plugins.csharp.squid.C@caf6e7...
[INFO]  Sensor com.sonar.plugins.csharp.squid.C@caf6e7 done: 233 ms
[INFO]  Sensor org.sonar.plugins.csharp.gallio.GallioSensor@1b4bc2a...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Can not execute Sonar

Embedded error: Gallio execution failed.
No test assembly was found. Please check your project's Gallio plugin configuration.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
    at ...

Aquí está el Pom, si alguna vez es necesario:

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>totoGroup</groupId>
  <artifactId>toto</artifactId>
  <name>TOTO</name>
  <version>0.0.1-SNAPSHOT</version>
   <packaging>netpack</packaging>

    <profiles> 
 <profile>
      <id>sonar-dotnet</id>
      <activation>
        <!-- Optional activation by default -->
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <!-- Location of the the .Net installations (pick the one you need) -->
        <dotnet.4.0.sdk.directory>C:/Windows/Microsoft.NET/Framework/v4.0.30319</dotnet.4.0.sdk.directory>
        <fxcop.directory>C:/Program Files (x86)/Microsoft Fxcop 10.0</fxcop.directory>
        <partcover.directory>C:\Program Files (x86)\PartCover\PartCover .NET 4.0</partcover.directory>
        <sourcemonitor.directory>C:/Program Files (x86)/SourceMonitor</sourcemonitor.directory>
        <stylecop.directory>C:\Program Files (x86)\StyleCop 4.6</stylecop.directory>

        <sonar.host.url>http://10.101.99.198:20000</sonar.host.url>

      </properties>
   </profile>

   </profiles>

  <properties>
        <sonar.dotnet.visualstudio.solution.file>toto.sln</sonar.dotnet.visualstudio.solution.file>
    <sonar.dotnet.version>4.0</sonar.dotnet.version>
    <sonar.language>cs</sonar.language>
    <sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
  </properties>

  <build>
    <plugins>

      <plugin>
        <groupId>org.codehaus.sonar-plugins.dotnet</groupId>
        <artifactId>maven-dotnet-plugin</artifactId>
        <version>1.1</version>
        <extensions>true</extensions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <configuration>
          <language>cs</language>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
¿Fue útil?

Solución

Fuente (gracias por Fabrice Bellingard en la lista de correo Sunar_user), sus propias palabras:

Ok, está construyendo el proyecto con la configuración de compilación "Lanzamiento", para que, como puede ver en el registro de Jenkins, los ensamblajes compilados terminan en la carpeta "bin/versión". Sin embargo, ejecuta el análisis SONAR con los parámetros predeterminados, por lo que los complementos C# buscan en la carpeta "bin/depuración" para encontrar ensamblajes.

Por lo tanto, tiene 2 soluciones: • O compile el proyecto con la configuración de compilación "Depurar" • o especifica la siguiente propiedad para el análisis de sonar: "sonar.dotnet.buildconfigurations = versión" (consulte el documento para esa propiedad en el wiki)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top