2016-05-23 13 views
1

Ich mache ein Paket für Atom, und Travis CI sagt mir immer, dass mein Build fehlgeschlagen ist.
Update: Ich habe eine leere Spec-Datei erstellt und jetzt sind meine Builds bestanden.Wie funktionieren die Spec-Dateien von Atom?

Sie mein Paket hier sehen können: https://travis-ci.org/frayment/language-jazz

Die Konsole sagt mir:

sh: line 105: ./spec: No such file or directory 
Missing spec folder! Please consider adding a test suite in 

Ich ging umsah bei Atom-Pakete auf GitHub für ‚spec‘ Dateien und sie scheinen Coffee zu beruhen , aber ich kann nicht verstehen, was auf der Erde sie enthalten. Es gibt nicht viel Dokumentation zu diesem Thema, also:

Was ist eine 'spec' Datei, und was soll ich hineinlegen?

Hilfe wird sehr geschätzt.

Antwort

2

Das sollte ./spec Verzeichnis enthält ein oder mehr Jasmine Specifications für die Atom Package you are developing zum Beispiel dieser spec aus der Dokumentation Atom genommen werden:

describe "when a test is written", -> 
    it "has some expectations that should pass", -> 
    expect("apples").toEqual("apples") 
    expect("oranges").not.toEqual("apples") 

Eine der größten Herausforderungen im Zusammenhang mit Open Source Software ist Qualität beibehalten, wenn ein große Anzahl von einzelnen Mitwirkenden Code bereitstellen, eine Lösung für dieses Problem ist eine high level of test coverage Bereitstellung:

Wie die meisten Aspekte der Programmierung erfordert Tests Nachdenklichkeit. TDD ist ein sehr nützliches, aber sicherlich nicht ausreichendes Werkzeug, um Ihnen gute Tests zu ermöglichen. Wenn Sie nachdenklich und gut testen, würde ich einen Deckungsgrad in den oberen 80ern oder 90ern erwarten. Ich wäre misstrauisch gegenüber etwas wie 100% - es würde nach jemandem riechen, der Tests schreibt, um die Deckungszahlen glücklich zu machen, aber nicht darüber nachzudenken, was sie tun.

Im Atom Fall, alle Spezifikationen sind den ./spec Ordner hinzugefügt und muss mit -spec.coffee, so zum Beispiel am Ende, wenn Sie ein Paket awesome und Ihr Code saß in /awesome.coffee dann spec Sie wäre ./spec/awesome.coffee genannt zu schaffen wurden. Ihre Spezifikation sollte die Schlüsselbereiche Ihres Codes trainieren, um Ihnen Sicherheit zu geben, wenn Sie pull requests an Ihren Master-Zweig übergeben.

Ich habe eine couple von packages auf Atom.io und beide haben Tests enthalten, Sie sind willkommen, diese als konkrete Beispiele zu verwenden, wie Jasmine 1.3 Tests geschrieben werden können, um die Funktionalität Ihrer Pakete zu unterstützen. Ebenso enthält die Mehrzahl der Pakete auf Atom.io eine Reihe von Tests, auf die Sie zurückgreifen können, um Ihre eigene Testsuite zu erstellen.

+0

Es tut mir schrecklich leid, dass ich Ihre brillante Antwort nicht angenommen habe! Ich habe nie eine Benachrichtigung erhalten! : O Danke sehr. – finnrayment

+0

Oder wie könnte ich das auf einen Syntax-Highlighter anwenden? – finnrayment

+0

für ein Syntax-Thema? Sie schreiben Ihre Tests gegen erwartete Bereiche in einer Beispieldatei. Es gibt jedoch nicht viele gute Beispiele dafür. –

Verwandte Themen