javascript - 在Minitest中,我可以触发页面JS并分析结果/响应吗

标签 javascript ruby-on-rails minitest

我希望我的问题对那里的任何人都有意义。我现在感到有点迷茫,可能是由于缺乏一些背景知识。我会尽量使问题具体化。

在 Minitest 测试中,我是否可以手动触发 JS 事件监听器,例如带有点击事件的按钮,然后测试预期的行为?一般来说,Minitest 在 JS 方面的行为有何不同,为什么?我在哪里可以阅读更多关于 interplay Minitest/JS 的信息?

$('#question').on('click', function() {
    resetFontSizeForQuestion();
    showAnswer();
    adjustSizeOfAnswer(front_size_string);
    n++;
});

我找不到关于该主题的任何信息。我完全偏离 rails 了吗?感谢您的帮助,非常感谢任何帮助。

最佳答案

基本上您需要一个使用 Capybara 的集成测试它为您运行一个浏览器 session (在后台,默认隐藏)来处理 HTML 和 JS。

您可以使用测试中的命令与该浏览器 session 交互,然后检查发生的结果,包括运行 JS 的结果。

这些测试比常规测试慢,因此您应该谨慎使用它们,但它们是测试/检查您网站上依赖于 JS 的内容的唯一方法。

关于javascript - 在Minitest中,我可以触发页面JS并分析结果/响应吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103413/

相关文章:

c# - 在 C# 对象的构造函数中等待 Javascript 回调

javascript - 在 android WebView 中禁用链接

ruby-on-rails - 尝试加载 gem 'uglifier' 时出错。 - 维尔克

ruby-on-rails - Rails 没有正确加载 4 个 fixtures 文件之一

ruby - 当 block 内的断言失败时,Minitest 报告错误的行号

javascript - 如何从 QUnit 测试中触发原生 Javascript 事件?

javascript - 获取子域名Javascript的域名

ruby-on-rails - 如何允许嵌套属性的强参数?

ruby-on-rails - 在 Ruby on Rails 中找到 60 的除数的最简单方法

ruby-on-rails - 在 minitest 中测试 postgres "RANDOM()"