Ich würde gerne den Karma Test Runner in meinem AngularJS + Rails Projekt verwenden. Hat jemand sie erfolgreich integriert? Genauer gesagt bin ich daran interessiert zu wissen, wie ich in die Asset-Pipeline integrieren kann (ich habe Dateien mit der Erweiterung .coffee.erb
, die zweimal vorverarbeitet werden müssten).
Ich verwende Karma Version 0.10.1 und Rails 4.
Jede Hilfe / Beispiele wären willkommen.
Ich habe Schwierigkeiten damit, Karma in meiner Rails-App auf Kettenräder aufmerksam zu machen, und habe es geschafft, mit einer Lösung zu kommen. Sie benötigen eine Rake-Aufgabe, um die Liste der Assets in application.js
deklarieren zu lassen und sie in das Array files
Ihrer Karma-Konfigurationsdatei einzufügen.
In meiner Rake-Aufgabe habe ich Folgendes:
%Vor%zusammen mit meiner Karma-Konfigurationsdatei:
%Vor% wo ich APPLICATION_SPEC
mit allen Kettenrad files
ersetze. Ich habe ein Tutorial geschrieben, wenn Sie das große wollen Bild.
Ich habe sie nicht als solche integriert, aber für mein Projekt habe ich beschlossen, den anderen Weg zu gehen und jeden einzeln zu bedienen. Also habe ich eine Rails-App und eine eckige App in separaten Verzeichnissen erstellt, dann habe ich die eckige App mit dem öffentlichen Verzeichnis der Rails-App verknüpft, so dass der Rails-Server eckige Skripte und Templates anbietet.
Meine Logik bei dieser Vorgehensweise war, dass ich nicht zwei verschiedene Vorprozessoren in demselben Code verwenden wollte, und ich war nicht zuversichtlich, dass die Test-Tools gut miteinander funktionieren würden. Ich habe mich auch dafür entschieden, die Build-Skripte zu verwenden, die mit ng-boilerplate geliefert wurden, und diese Skripte machen ziemlich viel Arbeit, die sonst durch Rake oder andere Tools erledigt würde.
Ich habe eine Tutorial-Serie darüber geschrieben, die hier zu finden ist: Ссылка
Einige der Alternativen, die ich bisher gesehen habe:
Ich habe Karma und Angular dazu gebracht, nett zu spielen, indem ich Folgendes tue:
Fügen Sie Ihrer development.rb
-Datei hinzu:
config.assets.prefix = "/dev-assets"
Damit werden Ihre Assets im Ordner public/dev-assets
vorkompiliert, genauso wie die Produktion in public/assets
geht. Sie können dann zu Ihrer Karma-Konfiguration hinzufügen:
Tags und Links angularjs ruby-on-rails asset-pipeline karma-runner