草庐IT

unit-testing

全部标签

javascript - 我如何测试 Sinon.js 的函数调用顺序?

如何测试Sinon.js的函数调用顺序?例如,我在对象中有三(3)个处理程序,并且想要定义处理程序调用的顺序。这有什么可能吗? 最佳答案 http://sinonjs.org/docs/sinon.assert.callOrder(spy1,spy2,...)如果提供的spy按指定顺序调用则通过。 关于javascript-我如何测试Sinon.js的函数调用顺序?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

javascript - Protractor 和 Angular : How to test two pages in an app, 一个接一个?

我想在我的Angular应用程序的两个单独页面上运行Protractor测试:/dashboard和/articles。复杂的是我必须手动登录应用程序。目前我有这个设置:varLoginPage=function(){ptor=protractor.getInstance();this.login=function(url){ptor.get(url);ptor.findElement(protractor.By.model('email')).sendKeys(config.LOGIN_EMAIL);ptor.findElement(protractor.By.model('pass

javascript - 我如何在 Sinon 中存入一系列方法?

我知道如何使用stub来替换一个函数。sandbox.stub(Cars,"findOne",()=>{returncar1});但是现在我的函数中有一行我想测试我需要stub看起来像这样Cars.find().fetch()所以这里有一个功能链,我不确定我需要做什么。如何stub“查找”以返回可用于stub“获取”的内容? 最佳答案 恕我直言,我们可以使用returns来做到这一点。我们不需要使用callsFake或将其模拟为函数。//Cars.find().fetch()sinon.stub(Cars,'find').retur

javascript - for 循环内的函数未被测试

我有一个正在尝试测试的函数:vm.clearArray=function(){for(varid=0;id我正在尝试像这样测试它:it('shouldhaveclearedcopyArrayonfunctioncall',function(){varctrl=$componentController('copy',null);spyOn(ctrl,'clearArray').and.callThrough();spyOn(ctrl,'styleIcon').and.callThrough();ctrl.copyArray=[123];ctrl.clearArray();expect(c

javascript - Ajax 驱动的 JavaScript 运行时断言框架

在使用越来越多的JavaScript代码开发更大的Web应用程序时,我们就如何提高代码质量进行了头脑Stormsession。第一个想法是引入单元测试。这将是一个长期目标;但是,这不会解决最常见的回归原因:不断变化的DOM和浏览器特定问题。单元测试在模拟的、无DOM的环境中运行,并且不在页面上。我正在寻找的是一个断言框架,它可以像这样插入到代码中:var$div=$("div.fooBarClass");assertNotEmpty($div);$div.fooBarAction();我发现断言框架可以做到这一点,但它们要么登录到控制台或DOM,要么打开一个愚蠢的弹出窗口。这些都不能与

javascript - 测试使用 jQuery 的 Angular 指令

我在为一些Angular指令编写单元测试时遇到问题。特别是那些在指令中使用jQuery的。我设计了一个下面的最小示例来说明我的问题。这个愚蠢的指令将点击事件绑定(bind)到元素。单击时,它会隐藏元素。AccordingtoAngular,传递给指令的元素将被包装为jQuery元素。如果jQuery可用,它将使用jQuery,否则它将使用Angular的jQueryLite。实际上,如果我在包含jQuery的浏览器中使用此指令,该指令会起作用并将隐藏被单击的元素。angular.module('myApp').directive('clickhide',function(){retur

javascript - 如何使用 Karma、Jasmine 和 Istanbul 指定测试应涵盖哪些功能/方法

我正在尝试弄清楚如何限制我的测试,以便覆盖率报告者只考虑在为该功能专门编写测试时覆盖的功能。下面的例子来自PHPUnitdoc很好地展示了我试图实现的目标:The@coversannotationcanbeusedinthetestcodetospecifywhichmethod(s)atestmethodwantstotest:/***@coversBankAccount::getBalance*/publicfunctiontestBalanceIsInitiallyZero(){$this->assertEquals(0,$this->ba->getBalance());}如果执

javascript - 在 Jest 测试中将通用数据放在哪里

我不确定如何为Jest测试组织代码。我的所有测试都在__tests__下,所有模拟都在__mocks__下。现在我有一些数据想在测试之间共享:它们不是现有函数的模拟,它们只是我想在不同文件中使用的一些javascript对象。我应该创建一个__data__目录吗?还是将它们放在__mocks__下?或者在__tests__目录下不在文件名中加入-test? 最佳答案 简短的回答是你想要的任何地方。JavaScript在其生命中经历了很多不同的阶段,也有很多不同类型的人在使用它。这可能就是为什么现在大多数工具都是高度可配置的,以允许个

javascript - Jest es6 模块 : unexpected module import

我正在尝试测试一个需要像这样导入es6模块的文件:https://repl.it/HG9t/0看来我缺少一些使其正常工作的配置。如果您可以使用另一个单元测试框架轻松实现这一点,我也很感兴趣。预先感谢您的帮助。 最佳答案 安装所需的依赖项:yarnadd--devbabel-jest@babel/core@babel/preset-env或npminstall--save-devbabel-jest@babel/core@babel/preset-env在您的主文件夹中创建babel.config.js并将其粘贴到那里://babel

javascript - 与上下文无关的 JavaScript 测试框架

我正在寻找一个可以在任何上下文中轻松使用的JavaScript测试框架,无论是浏览器、控制台、XUL等。是否有这样的框架,或者是否有一种方法可以轻松改造现有框架,使其与上下文无关?编辑:测试框架应该不绑定(bind)到任何其他框架,例如jQuery或Prototype.js,并且不应该依赖于存在的DOM(或文档对象)。我正在寻找可以测试纯JavaScript的东西。 最佳答案 好的,这是我刚刚根据一些早期工作酿造的东西。我希望这能满足您的需求。jsUnity轻量级通用JavaScript测试框架jsUnityisalightweig