我正在使用节点来运行我的单元测试。
我在浏览器中运行了一个JavaScript模块,我想测试一下。
我的代码是“ isomorphic ”,即它避免了Node中没有的语言功能,例如export
s。
但它使用纯浏览器API:XMLHttpRequest
,FormData
和File
我已经为每个人找到了Node的实现
但XMLHttpRequest
中的一个不支持上传。
所以我正在寻找在这些API的环境中对这些代码进行单元测试的最简单方法 代码不需要DOM或其他浏览器API,“仅”这三个。
我已经使用 PhantomJS 来满足其他需求,但是:
由于代码浏览器化,所有这些问题可能会消失,但在此之前我想确定。
有没有机会让它与 PhantomJS , CasperJS 等合作?
还有哪些其他选择?
答案 0 :(得分:2)
这不是测试在浏览器中运行的代码的方式。如果它在浏览器中运行,则需要在浏览器中进行测试。
您需要根据webdriver规范查看解决方案。这个生态系统中的大毛怪是Selenium。我目前正在研究这个主题,因为我们使用selenium-server时遇到了一些问题。您还应该研究Nightwatch和Leadfoot。 Webdriver.io是许多人推荐的第一个推荐,因为它是一个基于节点的客户端,包围Selenium(很差)。但是文档已经到处都是,并且我们经常遇到使用它的错误。