Not sure how it works with autospec since I’m running the specs manually most of the time.
In order to run the plugin specs I’m always setting an environment variable in my IDE: LOAD_PLUGINS=1
# this runs just the specs in one file
LOAD_PLUGINS=1 bundle exec rspec plugins/poll/spec/controllers/posts_controller_spec.rb
# this runs all the specs of the poll plugin
LOAD_PLUGINS=1 bundle exec rspec plugins/poll/spec
It works, thanks ! Where would be the most relevant topic for this information ? Or maybe there is a file in the git repository that should be updated ? The closest thing I found is the Beginner’s Guide to Creating Discourse Plugins Part 6: Acceptance Tests but it only covers part of the qunit tests.
Et mes migrations de plugin sont maintenant à jour !
Il est intéressant de noter que sansLOAD_PLUGINS=1 et dans l’environnement development, les migrations de plugin s’exécutaient, mais pas dans l’environnement testing.
@sam a ajouté une touche de magie ici, donc si vous exécutez RAILS_ENV=test /bin/rake db:migrate, les plugins seront chargés automatiquement. Mais je pense que la plupart des gens n’utilisent pas les scripts bin/, ce qui fait que ce problème continue d’affecter différentes personnes. Peut-être devrions-nous intégrer la logique directement dans la tâche rake db:migrate plutôt que dans le script bin/
Lorsque nous exécutons normalement la suite de tests, nous ne voulons pas que les plugins soient chargés : souvent, les plugins remplacent des fonctionnalités et pourraient faire échouer les tests du noyau.