草庐IT

unit-testing

全部标签

javascript - react / enzyme : How to test for subcomponent?

这就是我的Messenger组件的样子。如您所见,有一个主要组件和一个列表组件。主要组件默认导出。有了这个,我的应用程序中的一切都按预期工作。/imports/ui/components/messenger.jsximportReact,{Component}from'react'importPropTypesfrom'prop-types'import{Container,Segment,Loader,Header}from'semantic-ui-react'classMessengerextendsComponent{staticgetpropTypes(){return{dat

javascript - phantomjs 和 run-jasmine.js 超时

所以我遇到了一个奇怪的问题。我有一个Jasmine测试运行器在我的机器上本地运行,位于localhost:8080/test/runner.html当我在网络浏览器中打开它时,它运行良好。我想自动执行此操作,所以我使用了phantomjs(从brew安装——我在mac上)并且我使用了代码中的示例run-jasmine.js文件。但是,每当我针对URL运行它时,我都会得到:phantomjswar/test/spec/run_jasmine.jshttp://localhost:8080/test/runner.html'waitFor()'timeout所以我写了一个非常简单的脚本来查

.NET/Visual Studio 中的 Javascript 测试结构

我有一个.NETMVC解决方案,它包含各种javascript,我希望能够使用QUnit测试这些脚本,所以我应该把测试脚本和QUnit工件放在哪里?在mvc项目中?如果是,那么我大概需要在部署应用程序时通过构建过程删除这些脚本?好像有点垃圾?我真的不希望测试代码与生产代码混在一起。在单独的“测试”网络项目中?非常适合更好的分离,但随后我需要一些构建操作,将我的SUT脚本移动到这个单独的项目,以便测试脚本可以引用它们。可能比选项1更可取,但仍然有点垃圾?最佳做法是什么?有最佳实践吗?我没有提到的其他方式?有什么工具可以提供帮助吗?我错过了一些明显的东西吗?This建议单独的项目+Xcop

javascript - 使 $httpBackend 忽略对服务器发出的任何请求

我有以下Controller(请注意,在实例化时我显式调用了$scope.getNotifications()):bla.controller("myctrl",["$scope","$http","configs",function($scope,$http,configs){$scope.getNotifications=function(){$http.get("bla/blabla").success(function(data){});};$scope.removeNotification=function(notification){varindex=$scope.allN

javascript - 如何在 "before" Hook 中获取 Mocha 测试名称?

我正在尝试在beforeHook中获取当前的describe名称,如下所示:describe('increasing3times',function(){before(function(){console.log('testname');});...});我基本上想在before钩子(Hook)中检索'increasing3times'字符串。如何实现?谢谢! 最佳答案 下面是说明如何执行此操作的代码:describe("top",function(){before(function(){console.log("fulltitle

javascript - 如何在单元测试之间重置 requirejs 模块

我有一个JavaScript项目,我想观察TDD方法。我为此选择了karma框架和requirejs库,并遵循了karma文档中演示的示例here.有一个单元测试文件的例子,它是:define(['app','jquery','underscore'],function(App,$,_){describe('justchecking',function(){it('worksforapp',function(){varel=$('');varapp=newApp(el);app.render();expect(el.text()).toEqual('require.jsupandrun

javascript - Proxyquire 没有 stub 我需要的类(class)

我有一个类AProvider需要'./b.provider'。constBProvider=require('./b.provider');classAProvider{staticgetdefaultPath(){return`defaults/a/${BProvider.getThing()}`;}}module.exports=AProvider;b.provider.js与a.provider.js相邻,看起来像global.stuff.whatever=require('../models').get('Whatever');//Ididn'twritethis!classB

javascript - SpyOn 一个 mock 的 Jest 模块没有正确监视

我有一个简单的服务,我需要使用jest进行单元测试:代码的关键是:domtoimage.toBlob(node,{filter:filter}).then(function(blob){FileSaver.saveAs(blob,fileName);});我已经这样编写了我的单元测试模块:importFileSaverfrom"file-saver";importdomtoimagefrom"dom-to-image";jest.mock('dom-to-image',()=>{return{toBlob:(arg)=>{letpromise=newPromise((resolve,r

javascript - 单元测试私教课

假设我在JavaScript中使用了以下模块类型模式:varmyModule=(function(){varFoo=function(){/*...*/};varBar=function(){this.foo=newFoo();};Bar.prototype.someMethod=function(){this.foo.someMethod();};return{'Bar':Bar};})();这是否可取,如果是的话——我如何公开Foo进行单元测试?是否有一些通用的技术或模式可以执行此操作? 最佳答案 我认为您真的不需要对priva

javascript - 为 TDD JavaScript 模拟用户输入

我发现使用jQuery或native元素触发函数模拟实际用户事件越来越困难。例如,如果您有文本输入并且不希望用户能够添加字符,则可以使用e.preventDefault()上的jQuery规范化事件对象调用keydown事件。但是,无法以编程方式验证此测试场景。即使没有调用preventDefault,以下测试也会通过,因为jQuerykeydown触发器不是“真实”事件。input.val('test').trigger(jQuery.Event({which:68});expect(input).toHaveValue('test');如果没有正确的代码,这个测试应该会失败,因为输