【问题标题】:Is JS enabled when testing with Laravel?使用 Laravel 进行测试时是否启用了 JS?
【发布时间】:2016-10-12 17:26:03
【问题描述】:

我正在使用 Laravel 测试来测试表单。

我正在尝试使用 $this->select('value','selectName') 在选择上设置一个选项,但是该选择在页面上填充了以下脚本:

<script>
    for(var i = 1940; i < 2020; i++){
         document.write('<option value="'+i+'">'+i+'</option>');
    }
</script>

但是当我运行测试时,我得到:

InvalidArgumentException: Input "year" cannot take "1992" as a value (possible values: ).

但是,当我只是使用 html 标签进行选项时,一切运行正常,所以我猜测 JS 未启用或在解析后运行。

这是预期的行为吗?在启用 JS 的情况下我可以做些什么来测试它?

【问题讨论】:

    标签: javascript php laravel testing


    【解决方案1】:

    由于 JavaScript 是一种客户端脚本语言,基本上在运行时在浏览器中执行,它不能被 Laravel 在测试中使用。话虽如此,有一些 laravel 的扩展/驱动程序可以启用此功能。您可以查看 Selenium。

    这里是阅读此主题的好地方: https://laracasts.com/discuss/channels/testing/has-anyone-tried-laravel-integrated-package-in-laravel-52

    【讨论】:

    • 好吧,显然它没有。所以这就是答案。感谢您的链接。
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多