LOAD_PLUGINS=1 QUNIT_SKIP_CORE=1 QUNIT_SINGLE_PLUGIN='discouse-humble-box' /home/ravenstorm/.rbenv/versions/2.5.3/bin/rake qunit:test
Chrome is not installed. Download from https://www.google.com/chrome/browser/desktop/index.html
rake aborted!
Command failed with status (1): [LOAD_PLUGINS=1 QUNIT_SKIP_CORE=1 QUNIT_SIN...]
/home/ravenstorm/discourse/lib/tasks/plugin.rake:117:in `block in <main>'
Tasks: TOP => plugin:qunit
Install Chrome and then give it another try.
Oh sorry i’ve pasted an old error code which i had stored in a pastebin 
navigate to http://localhost:60099/qunit?qunit_single_plugin=discouse-humble-box&qunit_skip_core=1&seed=187998423095278311109560784485973475676
Tests timed out
rake aborted!
Command failed with status (124): [node /home/ravenstorm/discourse/vendor/ass...]
/home/ravenstorm/discourse/lib/tasks/qunit.rake:89:in `block in <main>'
Tasks: TOP => qunit:test
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [LOAD_PLUGINS=1 QUNIT_SKIP_CORE=1 QUNIT_SIN...]
/home/ravenstorm/discourse/lib/tasks/plugin.rake:117:in `block in <main>'
Tasks: TOP => plugin:qunit
Try running the test in the browser as David suggested earlier. So, in your browser, when the server is running, go to your-local-site/qunit. Very often, for me, timeouts in the Terminal have errors in JS that I could see and fix after visiting /qunit on the browser.
Thats one of the problems 
I can’t find acceptance tests on my /qunit
Even after turning on all modules and filtering it with box and humble nothing is here 
Try renaming the folder to test/javascripts/acceptance - that extra s is quite important!
You might need to do rm -rf tmp, and then restart your development server for the changes to take effect.
Do what David said above (rename the folder to javascripts), but ALSO, change the name of your plugin in plugin.rb to discourse-humble-box to match the folder name. I did these two changes, and I see tests locally:
Yea i’ve seen those as well now, but these aren’t really eye-opening results tbh.
But gotta dig deeper and lookup why these errors are shown.
Thanks for the help guys.
For example the second test case… if i am testing it myself by hand… it works, but running it on qunit it fails 
Ok, got a brief idea whats bringing me the errors and it confuses me:
http://localhost:9292/ in my browser has the plugin installed and working
http://localhost:9292/qunit the test shows, that the plugin is not even installed
I thought these two are using the same enviroment ?
Could this be caused by my local dev-enviroment since it’s not using docker and I’m not able to install the plugin like Install Plugins in Discourse ? It’s just sitting in the plugins folder like the others.
Any idea how this is possible ?
Estoy intentando seguir esta guía, pero me estoy atascando justo al principio: no puedo acceder a /qunit en absoluto. (Esto también parece estar relacionado con Install Discourse on Ubuntu or Debian for Development, que es básicamente el enfoque que estoy usando para implementar Discourse en mi máquina local para aprender sobre desarrollo, pero esta guía es la que desencadenó mi obstáculo, así que pensé en ponerlo aquí). Intentar acceder a él da como respuesta “Esa página no existe o es privada”.
El controlador para la ruta /qunit (discourse/app/controllers/qunit_controller.rb at 166fe3bb34f99bd0baa613726486ce0f13c7a992 · discourse/discourse · GitHub) menciona que es # solo se usa en pruebas / desarrollo no ember-cli (el comentario antes de ese método), así que he intentado ejecutar la instancia con RAILS_ENV=test bundle exec rails server, pero EmberCli.enabled? sigue siendo true.
¿Qué enfoque están utilizando para ejecutar un servidor de desarrollo local de modo que podamos acceder a /qunit (lo que probablemente implica deshabilitar EmberCLI)? (Ciertamente puedo estar perdiéndome algo obvio).
El nuevo camino es /tests. Actualizaré el OP - ¡gracias!
¡Genial, gracias! Al siguiente obstáculo:
Este enlace directo a la prueba de aceptación particular da el error (con un backtrace):
Error: No se encontraron pruebas que coincidan con el módulo "Acceptance: Purple Tentacle".
De hecho, cuando busco en la lista desplegable “Módulo:”, no veo nada que coincida con “purple” o “Purple”. ¿Hay una nueva parte del sistema para registrar plugins o sus pruebas que pueda faltar aquí?
Si busco “purple” usando el cuadro de texto “Filtro:”, me lleva a la siguiente URL: http://localhost:4200/tests?filter=purple, lo que me da un error diferente:
Error: No se pudo encontrar el módulo `helpers/qunit-helpers` importado desde `discourse/plugins//acceptance/purple-tentacle-test`
at missingModule (http://localhost:4200/assets/vendor.js:259:11)
¿Tienes alguna idea de lo que podría estar fuera de lugar aquí?
Como nota al margen, ¿la URL /tests utiliza la ruta comodín get "*url", to: 'permalinks#show' y, por lo tanto, Permalink.find_by_url para resolverla realmente? Si es así, ¿en qué punto de la inicialización de Discourse se carga el mapeo de la URL /tests en la base de datos?
@jlc, muchas gracias por probar nuestra guía y mantenernos al día. ![]()
He realizado algunos cambios en la prueba de aceptación de ejemplo del OP para reflejar algunos cambios nuevos que estamos utilizando para las pruebas de aceptación. Esencialmente, los dos cambios son
- importaciones, y
- el uso de la constante
needsdentro deacceptance
Eso debería resolver la mayoría de los problemas que has mencionado. También puedes hacer uso de algunas de las opciones de needs aquí:
¡Revisar todo el archivo qunit-helpers también sería muy útil!
