JavaScriptMVC放一个极大强调的重点在测试方面。JavaScriptMVC框架是使用FuncUnit模块帮助我们更容易编写功能和单元测试,且测试可以执行在浏览器或者全自动化。
当你架构完食谱模块后,它会自动生成测试代码。下面这篇文章是指导我们如何完成下面5件事。
1、执行单元测试。
2、理解单元测试。
3、执行功能测试。
4、理解功能测试。
5、测试是一个很好的功能。
1、执行单元测试
FuncUnit使用Jquery的QUnit工具进行测试像模块和基本插件。你可以在浏览器或者Envjs中执行这些测试。
执行单元测试在浏览器中
打开cookbook/qunit.html,你将看到如下图:
下面我们看看第二种方式是如何执行的。首先,要让测试在Envjs环境中执行。
执行单元测试在Envjs环境中
Envjs是一个基本脚本浏览器。FuncUnit可以在这个模拟的环境中执行你们的测试。
在Window的DOC控制台输入下面命令:
js funcunit/run envjs cookbook/qunit.html
它将让qunit.html在一个模拟的浏览器环境中执行。输入如下:
2、理解单元测试
FuncUnit使用QUnit工具的断言来把测试功能组合到模块中。如果想更好的理解单元测试,我们可以通过阅读QUnit的帮助文档。
cookbook/qunit.html加载steal模块和让steal去加载cookbook/test/qunit/qunit.js文件,而这个文件就是去加载所有的单元测试文件:
cookbook/test/qunit/cookbook_test.js
cookbook/test/qunit/recipe_test.js
一旦所有脚本加载完后测试的断言将执行。
打开cookbook/test/qunit/recipe_test.js文件,我们看看findAll测试是如何工作的。
//creates a test
test("findAll", function(){
//prevents the next test from running
stop(2000);
//requests recipes
Cookbook.Models.Recipe.findAll({}, function(recipes){
//makes sure we have something
ok(recipes)
//makes sure we have at least 1 recipe
ok(recipes.length)
//makes sure a recipe looks right
ok(recipes[0].name)
ok(recipes[0].description)
//allows the next test to start
start()
});
})
3、执行功能测试
功能测试是用来测试模拟用户与界面交互所产生的鼠标和键盘事件。
厨师手册的功能测试是测试食谱创建和列表界面的交互动作。
执行功能测试在浏览器 www.2cto.com
打开cookbook/funcunit.html,你将看到如下图:
执行功能测试在Selenium环境中。
Selenium能自动加载浏览器和封装到FuncUnit模块中。
执行如下命令:
js funcunit\run selenium cookbook\funcunit.html
如果你是使用Window系统,它将打开Firefox和IE浏览器。这个测试的结果如下:
如果在IE中执行这个测试出现异常,你需要修改IE浏览器的配置。详情请看FuncUnit帮助文档。
4、理解功能测试
FuncUnit加上QUnit可以打开其它页面,在这个例子中cookbook/cookbook.html,这个页面上有交互动作和从上面获取一些信息。
cookbook/funcunit.html页面能像qunit.html一样工作是因为FuncUnit模块加载了FuncUnit插件。FuncUnit像Jquery API一样,用"S"别名来调用。
打开cookbook\recipe\create\create_test.js文件,我们看到如下代码:
test("create recipes", function(){
//type Ice in the name field
S("[name=name]").type("Ice")
//type Cold Water in the description field
S("[name=description]").type("Cold Water")
//click the submit button
S("[type=submit]").click()
//wait until the 2nd recipe exists
S('.recipe:nth-child(2)').exists()
//Gets the text of the first td
S('.recipe:nth-child(2) td:first').text(function(text){
//checks taht it has ice
ok(text.match(/Ice/), "Typed Ice");
});
})
从测试中可以很容易看出,这个测试用例是创建食谱,并且把食谱添加到列表中。
5、测试是一个很好的功能。
FuncUnit把Web测试可读性和线性语法成为可能的。JavaScriptMVC提供这个测试功能给我们Web开发很大的贡献。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版