TECHTOGOU

unit-testing

全部标签

javascript - meteor JS : How to stub validated method in unit test

我正在使用经过验证的方法(mdg:validated-method)和LoggedInMixin(tunifight:loggedin-mixin)。现在我的单元测试出现了问题,因为它们因notLogged错误而失败,因为在单元测试中当然没有登录用户。我怎么必须stub呢?方法constresetEdit=newValidatedMethod({name:'reset',mixins:[LoggedInMixin],checkLoggedInError:{error:'notLogged'},//<-throwserrorifuserisnotlo

javascript - 如何在 Vue.js 中测试计算属性?无法模拟 "data"

我想知道如何在Vue.js的单元测试中测试计算属性。我已经通过vue-cli(基于webpack)创建了一个新项目。例如这是我的组件:<script>exportdefault{data(){return{source:[]}},methods:{removeDuplicates(arr){return[...newSet(arr)]}},computed:{types(){returnthis.removeDuplicates(this.source))}}}</script>我试过这样测试it('shouldremoveduplicatesfroma

javascript - D3.js - 以编程方式在 Jasmine 中生成拖动事件

我有一个使用D3和Angular编写的折线图组件。它具有用于更改x轴比例的可拖动条。现在我正在尝试使用Karma/Jasmine测试组件。我在单元测试中无法触发拖动事件。鼠标悬停和单击等其他事件也可以正常触发。我认为这是导致问题的d3中“拖动”事件的综合实现。这是我用来触发拖动的代码(此类代码在测试html页面上触发正确的d3拖动事件,但在单元测试中失败)。varleftBar=element.find(".left-bar")[0];varevObjStart=document.createEvent("MouseEvents");evObjStart

javascript - headless (headless) JavaScript 测试 HTML5 音频/视频

我知道还有很多其他类似的问题,但是答案并没有提供解决这个问题的方法。我的网站上使用了一个使用HTML5网络音频的JavaScript文件,我想对其进行单元测试。我研究过将QUnit与PhantomJS结合使用,在你说什么之前我知道Phantom不支持它(http://phantomjs.org/supported-web-standards.html),但是我想知道是否有办法解决这个问题?在浏览器中使用QUnit测试它会像您预期的那样工作,但我不想每次都使用浏览器测试它,我希望它在服务器上自动进行。其中一个测试失败的示例:QUnit.test("isPlaying",f

javascript - 将 $stateParams 和 $state 注入(inject) Jasmine Angular js 测试变得未定义

我正在为我的DetailCtrl编写jasmine测试。我有10个json文件,每个文件的文件名都是这样1.json2.json3.json在我的数据文件夹中这是我的详细控制backpagecontrollers.controller('DetailCtrl',function($scope,$stateParams,$http){$http.get('data/'+$stateParams.listingId+'.json').success(function(data){$scope.extrainfo=data;});});细节Co

javascript - 如何解决TypeError : environment. teardown is not a function

我无法测试使用create-react-app创建的应用程序。所有指南都说测试默认工作,但当我尝试“yarntest”时,它需要安装“jest-cli”,安装后出现错误:TypeError:environment.teardownisnotafunction 最佳答案 您不需要自己安装jest-cli。它应该开箱即用。尝试以下操作:删除package-lock.json、yarn.lock和node_modules从package.json的依赖中移除jest然后执行npminstall或yarninstall。

javascript - 如何在 JavaScript 中使用 Math.random 进行测试?

我有一个函数可以在最小值和最大值之间选择一个随机值。因此,当我进行测试时,我会测试该值是否介于最小值和最大值之间。但是由于我的应用程序出现了一些故障,因此测试有时会通过,有时会由于随机性而失败。覆盖/模拟Math.random()以返回0和1并测试我的值是否与最大值或最小值相同是个好主意吗?或者是否有更好的方法来测试JavaScript中的随机性?这是将用于创建随机数的函数:functionconstrain(min,max){returnMath.round(Math.random()*(max-min)+min)} 最佳答案 S

javascript - 如何通过 Jasmine spy 将被拒绝/失败的 promise 返回到单元测试中的 Angular Controller

我正在使用jasmine来测试我的AngularController。我在.then(successCallback,errorCallback)中捕获错误和成功虽然它在实时功能的基础上运行良好,但我很困惑如何编写一个spy来返回错误,因为它总是在successCallback()中被捕获以下是Controller:-angular.module('myApp').controller('LoginCtrl',function($scope,$location,loginService,SessionService){$scope.errorMessag

javascript - react : TypeError: Cannot read property 'propTypes' of undefined

请我为以下reactjs页面编写一个单元测试。exportdefaultclassCollapsibleextendsReact.Component{staticpropTypes={title:React.PropTypes.string,children:React.PropTypes.any,};render(){const{title}=this.props;return(<details><summary>{title}</summary>{this.props.children}</details>);}}跟着啧啧Here我在

javascript - UI Router Extras 破坏了我的单元测试并出现意外结果错误?

问题:-为什么在安装ui-router-extras(不是普通的ui-router)时我的测试失败?-我怎样才能使用ui-router-extras并且仍然通过我的测试?如果您想快速安装它,请使用yeoman+angular-fullstack-generator+bowerinstallui-router-extrasIfoundasimilarissuewithnormalui-router.幸运的是,ui-routernormal在我的测试中运行良好。安装后ui-router-extras我得到一个错误如果我卸载ui-router.extras,这个测试就可以通过:$urlRou