Frage

Ich erweitere svUnit (eine Einheit Test-Suite für R, Teil sciViews ), so dass es produziert auch die Ausgabe, die von Hudson gelesen werden kann. eigentlich habe ich schon etwas, das dies tut, aber es funktioniert nicht behandeln ‚deaktiviert‘ Tests.

, um zu sehen, was ich meine, haben einen Blick auf die protocol_junit.svTestData Methode in der svTestData.R Datei.

Das Problem ist, dass ich keine Definition des Schemas von Hudson akzeptiert zu finden habe es geschafft, und ich habe es geschafft, ein Java-Projekt zu überzeugen, zu versagen und Fehler, so dass seine Testsuite ein <failure/> und <error/> Element innerhalb eines hinzufügen würde wenige <testcase/> Elemente, aber ich habe es geschafft, nicht zu sehen, was mit einem @Ignore @Test Dekoration geschieht.

haben viele andere diese gleiche Frage gestellt, zum Beispiel zu , aber am Ende bekommt man auf diese Seite die ein guter Ausgangspunkt ist, ist aber nicht Komplett. zum Beispiel nicht erwähnt, das <error/> Element I durch Versuch und Irrtum entdeckt.

Ich habe versucht, die Quelle gelesen von Hudson zu lesen, aber ich habe nicht gefunden, wo ich anfangen.

irgendwelche Hinweise?

War es hilfreich?

Lösung

gab einen genaueren Blick auf den Hudson Quellen (insbesondere CaseResult.java ) ich sehe, dass mit einem <skipped/> Elemente in einem <testcase/> Elemente ist das, was ich gesucht hat.

und nur für die Zukunft, RELAX NG kompakte Syntax des Schemas I produziert bin (fühlen Sie sich frei zu bearbeiten / pflegen):

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*
}
#----------------------------------------
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top