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集成测试?_Javascript_Unit Testing_Testing_Integration Testing_Jasmine Jquery - Fatal编程技术网

如何编写JavaScript集成测试?

如何编写JavaScript集成测试?,javascript,unit-testing,testing,integration-testing,jasmine-jquery,Javascript,Unit Testing,Testing,Integration Testing,Jasmine Jquery,我必须为RequireJS应用程序编写集成测试。我以前从来没有这样做过,在网上也找不到任何例子。为什么关于那个主题的信息那么少?我读了很多关于什么是集成测试的描述,但我仍然不知道如何编写它们。我的应用程序没有服务器或db代码,这意味着我只能测试不同模块的协作,对吗?我已经试着用Jasmine编写了一些测试,例如,当Module1中调用render()时,Module2被实例化,并且Module2.render()也被调用Module2.render()应该添加一些html代码。因此,我使用jas

我必须为RequireJS应用程序编写集成测试。我以前从来没有这样做过,在网上也找不到任何例子。为什么关于那个主题的信息那么少?我读了很多关于什么是集成测试的描述,但我仍然不知道如何编写它们。我的应用程序没有服务器或db代码,这意味着我只能测试不同模块的协作,对吗?我已经试着用Jasmine编写了一些测试,例如,当Module1中调用
render()
时,Module2被实例化,并且
Module2.render()
也被调用
Module2.render()
应该添加一些html代码。因此,我使用jasmine-jquery.js测试是否添加了html代码:
expect($('#test1')).toExist()

这是集成测试吗?还是将其添加到单元测试中


我也不确定是否可以用Nightwatch.js编写集成测试,这是否合理。我现在正在用这个框架编写系统测试,但它似乎有点像集成测试,因为我正在测试组件是否协同工作。夜视测试何时称为集成测试,何时称为系统测试?

我认为“集成”测试应该检查js代码如何与应用程序的其余部分“集成”。也就是说,如果它向后端发送和接收正确的消息,或者从后端接收正确的消息,如果它与浏览器存储等正确通信,那么您所描述的看起来就像一个单元测试

我不知道夜表,但根据他们的网页

Nightwatch.js是一个易于使用的基于Node.js的端到端(E2E)测试解决方案,用于基于浏览器的应用程序和网站


它应该完成任务

如果我使用一个总是以相同消息响应的假服务器,并测试一个函数在成功的服务器请求后是否调用回调函数,这是否是一个集成测试?根据我编写单元测试和集成测试的经验,在许多情况下看到它们都混淆了。我喜欢采用以下规则:单元测试测试单个功能,例如公共功能;集成测试测试应以定义的方式一起交互的多个功能。不管测试的定义如何,重要的是控制输入并了解这两种情况下的预期输出。@JeremyBrooks的定义很好,根据国际软件测试资格委员会(ISTQ)的教学大纲: