DIY Solar Power System ermöglicht die grafische Darstellung und Überprüfung des Stromerzeugungsstatus, jedoch hinter den Kulissen Software, die in einer Programmiersprache namens Python geschrieben wurde Es funktioniert.
Veröffentlicht in PyPI, verwenden Sie es also bitte. Sie finden es so ↓.
$ pip search tsmppt60-driver
tsmppt60-driver - Python module to get status of your solar charge controller TS-MPPT-60.
… Sie müssen TS-MPPT-60 im Voraus erhalten.
Bei der Veröffentlichung auf PyPI dachte ich, dass es schlecht wäre, wenn ich den Test nicht ernsthaft schreibe, also habe ich versucht, unittest, doctest, Nase, MiniMock zu verwenden.
Die einzelnen Details werden wieder aktiviert, diesmal auf CI (Continuous Integration), Continuous Integration Material.
Es gibt Jenkins als berühmtes CI-Tool, aber da der tsmppt60-Treiber, den ich dieses Mal erstellt habe, als OSS auf github gepusht wird, habe ich das beliebte TravisCI verwendet. ..
Bei Verwendung von TravisCI ist der Gesamtfluss wie folgt.
Wenn Sie ein Github-Konto haben, können Sie den Push an Github anschließen und ihn automatisch mit nur einer einfachen GUI-Operation im Browser und ![Build Status](https: // travis-ci) erstellen und testen. Sie können auch Abzeichen wie org / dodo5522 / tsmppt60_driver.svg) in der README-Datei anzeigen.
Das Setup ist wie unten beschrieben sehr einfach.
Wechseln Sie zunächst zu TravisCI und melden Sie sich mit Anmelden mit Git Hub an.
Da die Zusammenarbeit mit GitHub bereits abgeschlossen ist, schalten Sie das gewünschte Repository für CI ein.
Im folgenden Beispiel ist das CI des Home-Automation-Repositorys aktiviert.
Klicken Sie auf die Zahnradmarkierung im Bild oben, um detaillierte Einstellungen und den Build-Verlauf anzuzeigen.
Möglicherweise wird es standardmäßig mit Push als Auslöser erstellt.
Sie müssen lediglich die gemäß Travis CI-Hilfe festgelegte Datei .travis.yml hinzufügen und in das GitHub-Repository verschieben.
Da der tsmppt60-Treiber ein Python-Paket ist, lauten die Einstellungen für Python wie folgt.
language: python
python:
- "2.7"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
# does not have headers provided, please ask https://launchpad.net/~pypy/+archive/ppa
# maintainers to fix their pypy-dev package.
- "pypy"
# command to install dependencies
install:
- pip install .
- pip install -r requirements.txt -r test-requirements.txt
# command to run tests
script: nosetests
Ich verfolge die Haupt- und neuesten Versionen von Python und installiere die erforderlichen Pakete vor dem Erstellen und Testen.
require.txt beschreibt die abhängigen Pakete, die erforderlich sind, damit der tsmppt60-Treiber funktioniert, und test-require.txt beschreibt die abhängigen Pakete, die zum Ausführen des Tests erforderlich sind.
$ cat requirements.txt
requests>=2.8.0
$ cat test-requirements.txt
MiniMock>=1.2.8
nose
coverage
Fügen Sie diese .travis.yml, require.txt, test-require.txt in das Stammverzeichnis des tsmppt60-Treiber-Repositorys und git add / commit / push ein. Das Ergebnis sollte wie folgt angezeigt werden.
Es benachrichtigt Sie nicht, während der Build oder Test weiterhin erfolgreich ist, aber sobald es fehlschlägt, werden Sie wie Jenkins per E-Mail darüber informiert, dass es fehlgeschlagen ist.
Informationen zum Anzeigen von Build-Status-Badges finden Sie auch in der GitHub README in der TravisCI-Hilfe (https://docs.travis-ci.com/user/status-images/).
Die Build-Statusanzeige des privaten Repositorys besagt, dass die URL zum Badge ein Sicherheitstoken enthält. Seien Sie also vorsichtig, aber dieses Mal wird das Repository als öffentlich behandelt, sodass es kein Problem gibt.
Nachdem die Testumgebung eingerichtet ist, können Sie mit den Messungen der Testcode-Abdeckung fortfahren (http://blog.rinka-blossom.com/githubnipushji-minopythonkodowo/).