Question

Je svUnit (une suite de tests unitaires pour R, une partie de sciViews ) pour qu'il produise également une sortie qui peut être lu par Hudson. en fait je l'ai déjà quelque chose qui fait cela, mais il ne gère pas les tests « désactivé ».

pour voir ce que je veux dire, jeter un oeil à la méthode protocol_junit.svTestData dans la section fichier de svTestData.R.

le problème est que je ne l'ai pas réussi à trouver une définition du schéma accepté par Hudson et j'ai réussi à convaincre un projet Java à l'échec et l'erreur, de sorte que sa suite de test ajouterait un élément de <failure/> et <error/> à l'intérieur d'un quelques éléments de <testcase/>, mais je n'a pas réussi à voir ce qui se passe avec une décoration @Ignore @Test.

beaucoup d'autres ont posé cette même question, par exemple ici aussi , mais dans l'une des extrémités arrive à cette page qui est un bon point de départ mais pas Achevée. par exemple, il ne mentionne pas l'élément <error/> j'ai découvert par essai et erreur.

J'ai essayé de lire la source lue par Hudson, mais je ne l'ai pas trouvé où commencer.

les indices?

Était-ce utile?

La solution

a regarder de plus près les sources Hudson (en particulier, CaseResult.java ) je l'ai vu, y compris un élément <skipped/> dans un élément de <testcase/> est ce que je cherchais.

et juste pour référence future, RELAX NG syntaxe compacte du schéma que je produis (ne hésitez pas à modifier / maintenir):

junit.rnc:
#----------------------------------------
start = testsuite

property = element property {
   attribute name {text},
   attribute value {text}
}

properties = element properties {
   property*
}

failure = element failure {
   attribute message {text},
   attribute type {text},
   text
}

error = element error {
   attribute message {text},
   attribute type {text},
   text
}

skipped = element skipped {
   text
}

testcase = element testcase {
   attribute classname {text},
   attribute name {text},
   attribute time {text},
   (failure|error)?,
   skipped?
}

testsuite = element testsuite {
   attribute errors {xsd:integer},
   attribute failures {xsd:integer},
   attribute hostname {text},
   attribute name {text},
   attribute tests {xsd:integer},
   attribute time {xsd:double},
   attribute timestamp {xsd:dateTime},
   properties,
   testcase*,
   element system-out {text},
   element system-err {text}
}
#----------------------------------------


and junitreport.rnc
#----------------------------------------
include "junit.rnc" {
   start = testsuites
   testsuite = element testsuite {
      attribute errors {xsd:integer},
      attribute failures {xsd:integer},
      attribute hostname {text},
      attribute name {text},
      attribute tests {xsd:integer},
      attribute time {xsd:double},
      attribute timestamp {xsd:dateTime},
      attribute id {text},
      attribute package {text},
      properties,
      testcase*,
      element system-out {text},
      element system-err {text}
   }
}

testsuites = element testsuites {
   testsuite*
}
#----------------------------------------
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top