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

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课程发现PhantomCSS然后生成图像差异对比,用于帮助您找到原因。

11、PhantomFlow

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

分类: 电脑/网络 >>程序设计 >>其他编程语言

解析:

JUnit是Java进行单元测试的一个框架, 需要下载junit, 3.8版本和后来的4.0以后版本编写测试的方法略有不同,

在3.8.2中需要导入junit.framework.中的类, 进行测试的类必须继承自TestCase类, 测试方法名称中需要含test字样, 可以在setup和teardown函数中管理一些每个测试函数都需要的资源比如数据库连接等,在测试函数中使用assert开头的函数来进行测试代码开发.以下是从junit文档中摘出的范例:

import junit.framework.Test

import junit.framework.TestCase

import junit.framework.TestSuite

/**

* Some simple tests.

*

*/

public class SimpleTest extends TestCase {

protected int fValue1

protected int fValue2

protected void setUp() {

fValue1= 2

fValue2= 3

}

public static Test suite() {

/*

* the type safe way

*

TestSuite suite= new TestSuite()

suite.addTest(

new SimpleTest("add") {

protected void runTest() { testAdd()}

}

)

suite.addTest(

new SimpleTest("testDivideByZero") {

protected void runTest() { testDivideByZero()}

}

)

return suite

*/

/*

* the dynamic way

*/

return new TestSuite(SimpleTest.class)

}

public void testAdd() {

double result= fValue1 + fValue2

// forced failure result == 5

assertTrue(result == 6)

}

public void testDivideByZero() {

int zero= 0

int result= 8/zero

result++// avoid warning for not using result

}

public void testEquals() {

assertEquals(12, 12)

assertEquals(12L, 12L)

assertEquals(new Long(12), new Long(12))

assertEquals("Size", 12, 13)

assertEquals("Capacity", 12.0, 11.99, 0.0)

}

public static void main (String[] args) {

junit.textui.TestRunner.run(suite())

}

}

在4.0.2中的变化是:

测试需要@.junit.Test的Annotation标记,其他部分也使用了Annotation标记,setup和teardown使用@.junit.Before 和@.junit.After, 在eclipse3.1的环境中不支持4.0.2, 可以使用junit 4.0.2中提供的adapter类来帮助eclipse内置的junit发现新版本的测试函数

天龙八部测试代码步骤如下:

1、手工测试用例设计,任何时候,任何软件,都可以通过软件测试的方法,编写出比较好的测试用例,这个过程是一个训练的过程,要花很长的时间去做。

2、学习语言,一门语言就可以,可以经常编写一些大大小小的应用,理解程序开发过程,适当的时候可以写写简单的测试程序(自己理解的测试程序),这个也要花很长的时间去做。

3、学习一些测试脚本语言,有了前面的基础,这个过程就很快了。

4、在测试工作中总结哪些手工测试类型你认为需要有自动化,提升自己在这个过程中的锻炼。这个是在锻炼思想。

5、以手工测试中的某些点,编写测试代码来进行测试,目的覆盖某些功能点即可。

6、可以加入某些测试工具,学习工具的脚本语言,使用测试工具完成某些功能。这个过程是理解工具提倡的自动化测试思想,和工具提倡的自动化测试方法和方式。

7、自己开发测试代码和使用测试工具开发这两种方式交替使用,目的是覆盖更多的测试类型和更多的功能。

8、综合运用测试技术(包括管理、维护等等),在一个统一的平台上完成更多的自动化测试,在这个过程中要体会和解决测试工具的成本、测试脚本开发成本、脚本如果管理、脚本如何维护等等相关的问题。一般来讲这类问题都不是很容易解决的。是一个系统的问题,值得讨论和研究的。对于前面的技术是可以训练出来的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11748750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存