你好,
我按照《使用 Docker 为开发安装 Discourse 的初学者指南》(https://meta.discourse.org/t/beginners-guide-to-install-discourse-for-development-using-docker/102009)进行了操作,编写了自己的插件,现在想为其编写测试。但是,`http://localhost:3000/qunit` 无法访问(ERR_EMPTY_RESPONSE),而端口 9292 上的 Discourse 安装运行正常。我是否需要向 unicorn 传递额外的参数来使其也能运行 qunit?我使用 -p 选项运行了 boot_dev,所以问题应该不在这里。
如果 Discourse 在 9292 端口,那么 qunit 也会在那里。http://localhost:9292/qunit
3000 是默认端口,也许你修改了某些配置?
你好,
非常感谢,这确实有效。9292 端口是 Docker 开发环境的默认端口,我并未更改它。或许更新 Developing Discourse Plugins - Part 6 - Add acceptance tests 这篇帖子会有意义,说明通过 Docker 方式运行时端口有所不同。
此致
Alexander
抱歉,问题仍然存在。之前的错误不再出现,页面标题显示为“QUnit Test Runner”,但页面是空的,控制台报错:Uncaught Error: Sprockets::FileNotFound: couldn't find file 'qunit/qunit/qunit' with type 'application/javascript'。
此致
Alexander
我这里无法复现。你是从头开始配置的吗?试试以下步骤:
cd discourse
sudo rm -fr data
d/shutdown_dev
d/boot_dev --init
然后访问 localhost:9292/qunit
我这里运行正常。
你好 @sam,
感谢你的回复。我已经删除了数据目录,拉取了最新的 master 分支,并重新启动了容器,但问题依然存在。我使用的是 macOS Catalina。如果你需要其他信息,请随时告诉我。
此致
Alexander
我也遇到了同样的错误:
在刚安装的 Pop!_OS 20.04(非 Docker 环境)上。我通过运行以下命令解决了该问题:
bundle exec bin/rake qunit:test
我注意到它在开始运行测试之前安装了许多 npm 包。完成后,我重新启动 Rails 服务器,现在可以在浏览器中通过 localhost:3000/qunit 访问 qunit 了。
