Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Gulp任务中在本地服务器上运行单元测试_Javascript_Unit Testing_Gulp_Html5 History - Fatal编程技术网

Javascript 在Gulp任务中在本地服务器上运行单元测试

Javascript 在Gulp任务中在本地服务器上运行单元测试,javascript,unit-testing,gulp,html5-history,Javascript,Unit Testing,Gulp,Html5 History,我正在尝试在终端中为内部使用历史API的应用程序库运行自动单元测试。我使用Babel将我的单元测试(使用Mocha/Chai/Sinon编写)传输并合并到单个测试文件中。然后我在Headless Chrome中打开一个本地HTML文件(包括该测试文件)来运行测试。这一切都很好 当Headless Chrome抛出错误时,我第一次遇到麻烦,因为我在本地文件上使用了History API的pushState方法。确切的错误消息是: 错误:未能在“历史记录”上执行“pushState”:URL为的历史

我正在尝试在终端中为内部使用历史API的应用程序库运行自动单元测试。我使用Babel将我的单元测试(使用Mocha/Chai/Sinon编写)传输并合并到单个测试文件中。然后我在Headless Chrome中打开一个本地HTML文件(包括该测试文件)来运行测试。这一切都很好

当Headless Chrome抛出错误时,我第一次遇到麻烦,因为我在本地文件上使用了History API的
pushState
方法。确切的错误消息是:

错误:未能在“历史记录”上执行“pushState”:URL为的历史记录状态对象file:///C:/code/projects/app/test/foo“无法在来源为“null”且URL为的文档中创建”file:///C:/code/projects/app/test/runner.html"

因此,我安装gulp connect来运行一个本地服务器,该服务器在gulp任务开始时启动,在任务结束时关闭(我不想要持久连接)。我重新配置了服务器上的所有内容,当我运行Gulp任务时,前面的错误消失了

问题是终端不再打印单元测试的结果。Gulp告诉我任务的开始和结束,但没有别的。它给人的印象是,即使我故意添加了一个将失败的测试,这些测试还是通过了


知道这是怎么回事吗?我认为这将是一个非常直接的转变,这让我相信我在做一些愚蠢的事情(这是很常见的事情)。如果Gulp解决了这个问题,我并不反对它(比如NPM脚本)。最终目标是让这成为一个自动化流程,我可以手动运行,Travis CI可以在每次推送公共回购时运行。

我通过切换到Karma解决了这个问题