JavaScript代码测试必备的12款工具?

JavaScript09

JavaScript代码测试必备的12款工具?,第1张

1、Jasmine

Jasmine是一个行为驱动的测试开发框架,用于对JavaScript代码进行测试。它不依赖其它任何JavaScript框架,也不需要DOM。它的语法简洁、明确,写测试非常容易。

2、Mocha

Mocha是一个功能丰富的JavaScript测试框架,既运行于Node.js环境中,也可以运行于浏览器环境中。Mocha以串行方式运行测试,能做出灵活而准确的报告,也能将测试中未捕捉的异常映射到正确的测试用例。

3、Chai

Chai是个支持BDD/TDD的库,可用于node和浏览器,可配合任何JavaScript测试框架使用。

4、QUnit

QUnit是个功能强大又易于使用的JavaScript单元测试框架。jQuery、jQueryUI和jQueyMobile项目都使用这个框架,它能测试普通的JavaScript代码。

5、Sinon

Sinon.JS为JavaScript提供了独立的spies、stubs和mocks[译者注:Spy、Stub和Mock都是测试专用名词,Stub常被翻译为桩,spies是Spy的复数形式,是一种可以监视方法、调用和参数的技术]。它不依赖任何东西,可以配合任何单元测试框架工作。

6、Karma

Karma是针对连通浏览器的一个框架无关测试运行器。每一个测试结果对应每个浏览器,它的测试和显示都是通过命令行暴露给开发者的,这样他们就可以看到浏览器测试的通过或失败。

7、Selenium

Selenium有一个简单的目标:就是自动化浏览器。它主要用于自动化测试web应用程序,但是只是很简单地考虑到了基于网络的管理任务。

8、WebdriverIO

WebdriverIO允许用户仅添加几行代码就可以控制浏览器或移动应用程序,使测试代码更简单、简洁、易读。集成的TestRunner同样允许你以同步的方式调用异步命令,这样你不需要关心如何处理Promise以避免竞态条件。此外,它取消了所有的繁琐的设置工作,并且会为您管理的Selenium会话。

9、Nightwatch

Nightwatch.js是一个易于使用的Node.js,它是为基于浏览器的app和网站设计的终端到终端(E2E)的测试方法。它使用强大的W3CWebDriverAPI,用于在DOM元素上执行命令和断言。

10、PhantomCSS

PhantomCSS获得CasperJS捕获的屏幕截图,并使用Resemble.js将其与基准图进行对比,以测试RGB像素差异。java课程http://www.kmbdqn.cn/发现PhantomCSS然后生成图像差异对比,用于帮助您找到原因。

11、PhantomFlow

PhantomFlow使用决策树提供UI测试方案。针对PhantomJS,CasperJS和PhantomCSS的NodeJS包装器——PhantomFlow能够流畅地在代码中描述用户流程,同时生成用于可视化的结构化树数据。

javascript严格区分大小写 所以 eLse不对 改为else

host=L 这样写是赋值 如过比较他俩是否相等则这样写 host==L

下面是详细代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">

<title>Document</title>

</head>

<body>

<script>

var L1 = 'a.com'

var L2 = 'b.om'

var L3 = 'c.com'

var L4 = 'd.om'

var L5 = 'e.com'

var L6 = 'f.om'

var L7 = 'g.com'

var L8 = 'h.om'

var L9 = 'i.com'

var L10 = 'j.om'

var host = window.Location.host

if (host==L1){document.write("<a href=\"http://www.a.com/\">a</a>")}

else if (host==L2)

{document.write("<a href=\"http://www.b.com/\">b</a>")}

else if (host==L3)

{document.write("<a href=\"http://www.c.com/\">c</a>")}

else if (host==L4)

{document.write("<a href=\"http://www.d.com/\">d</a>")}

else if (host==L5)

{document.write("<a href=\"http://www.e.com/\">e</a>")}

else if (host==L6)

{document.write("<a href=\"http://www.f.com/\">f</a>")}

else if (host==L7)

{document.write("<a href=\"http://www.g.com/\">g</a>")}

else if (host==L8)

{document.write("<a href=\"http://www.h.com/\">h</a>")}

else if (host==L9)

{document.write("<a href=\"http://www.i.com/\">i</a>")}

else if (host==L10)

{document.write("<a href=\"http://www.j.com/\">j</a>")}

</script>

</body>

</html>