使用Laravel进行测试时是否启用了JS?

时间:2016-10-12 17:26:03

标签: javascript php laravel testing

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

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

<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的情况下测试它?

1 个答案:

答案 0 :(得分:3)

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

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

相关问题