2016-12-30 3 views
0

Während der Verwendung des guard-cucumber Plugin fand ich es funktioniert nicht mit terminal-notifier-guardVerfahren zum Debuggen eines Drittanbieter gem

Was ist der beste Weg, um herauszufinden, was falsch läuft und beginnt dauerhafte Korrekturen zu machen?

Einige wichtige Kriterien sind:

  1. Ich will aufstehen und so schnell wie möglich ausgeführt werden.
  2. Sobald ich am Laufen bin, möchte ich so schnell wie möglich iterieren können.
  3. Ich möchte mein Projekt so wenig wie möglich ändern.
  4. Ich möchte in der Lage sein, meine Änderungen in der Versionskontrolle zu behalten, damit ich sie nicht aus den Augen verliere.
  5. Ich möchte Feedback zu meinen Änderungen erhalten, wenn ich möchte.
  6. Ich möchte meine Änderungen in einem isolierten Umfeld testen.
  7. Ich möchte nicht die guard-cucumber Edelstein auf meinem System installiert ändern.

Das ist mein Prozess:

  1. Fork das Projekt und klonen.
  2. Erstellen Sie einen neuen Zweig
  3. Ändern Sie den Namen zu guard-cucumber-cats in der Gemspec.
  4. Im geklonten Edelstein, etwas arbeiten.
  5. einen Haltepunkt in der Nähe von meiner Arbeit hinzufügen mit pry:

    require 'pry' 
    binding.pry 
    
  6. rake installguard-cucumber-cats auf meinem Rechner zu installieren.

  7. In meinem Projekt, fügen Sie guard-cucumber-cats als dep und kommentieren Sie guard-cucumber in Gemspec. Zum Beispiel:

    # spec.add_development_dependency "guard-cucumber", "~> 2.1.2" 
    spec.add_development_dependency "guard-cucumber-cats" 
    
  8. Führen Sie mein Projekt, drücken Sie Debuggen, Chaos mit Code.
  9. Repeat 4-8

Nachdenken über Verfahren in Bezug auf den Kriterien:

  1. Aufstehen und Laufen war nicht allzu schlecht
  2. Iterieren ziemlich schmerzhaft waren, mit dem guard-cucumber-cats jeden neu zu installieren Zeit, die ich eine Änderung testen wollte, war peinlich.
  3. Ändern einer Zeile in meinem Projekt Gemspec scheint nicht schlecht, aber es wäre besser, nichts ändern zu können.All
  4. die Vorteile von git Recht für den Anfang ein riesiges waren und
  5. Das Gleiche gilt für github
  6. Ich habe keinen Workflow Setup entweder mit vagabundierenden oder Docker, so mein „isoliert“ Test env ist im Grunde nur ich auf meinem Laptop. Vielleicht ist das eine gute Gelegenheit, ein funktionierendes Container-Dev-Env einzurichten? Ich bin mir nicht sicher, aber die Art, wie ich sie jetzt habe, scheint nicht so zu sein, dass sie diese Kriterien erfüllt.
  7. Obwohl es schwierig scheint, den Edelstein umzubenennen und dann auf meinem System zu installieren, ist es nett, dass ich den tatsächlichen guard-cucumber auf meinem Rechner nicht ändern musste.

Im Idealfall würde Ich mag Lage sein, so etwas wie:

  1. cp -r mein Projekt in eine Sandbox-env
  2. Klon das Gabel guard-cucumber in die gleiche Sicherheitsstufe env
  3. alles haben " nur arbeiten "
  4. Arbeiten an der geklonten guard-cucumber
  5. Wiederholen 4

las ich in another answer nur bearbeiten, das System gem beginnen, aber nicht wie diese Lösung, weil ich die Vorteile von git und github verlieren.

Gibt es einen besseren Prozess, der für Sie arbeitet? Oder Bereiche kann mein Prozess verbessert werden?

Auch als eine Randnotiz: So können Sie nest code blocks in a list

Antwort

1

Verwenden :path im gemfile des Projekts.

Sie arbeiten an Edelstein my_gem und Projekt my_project zur gleichen Zeit. Um dies zu dieser schmerzlos Verwendung in den gemfile Ihrem Projekt

# in /path/to/my_project/Gemfile 
... 

gem 'my_gem', :path => '/path/to/my_gem' 

... 

Und dann können Sie durchlaufen, ohne das Juwel alle Zeiten zu bauen.

Es gibt nicht einmal eine Notwendigkeit, den Edelstein umzubenennen.

Verwandte Themen