草庐IT

模拟器

全部标签

javascript - 如何在单元测试环境中模拟 browserHistory?

我正在尝试测试使用react-router的browserHistory的React组件。为了确保能够访问browserHistory,我使用了createMemoryHistory(react-router)模块,如下所示:letcreateMemoryHistory=require('react-router/lib/createMemoryHistory');在测试环境中,我利用了JSDOM库。global.document=jsdom('');global.window=document.defaultView;然后我尝试将创建的历史对象分配给DOM:lethistory=cr

javascript - 如何用 sinon 模拟 hapi.js 回复以进行单元测试

是否有简单的方法来模拟hapi回复对象/函数以便于进行单元测试?我看到的hapi示例都使用server.inject和“实验室”框架进行测试。我很想知道如何继续使用mocha,并希望直接测试Controller而不是注入(inject)服务器。我应该使用sinon来模拟回复对象吗?测试/post.jsbefore(function(){PostController=proxyquire('../controllers/post',{'mongoose':mongooseMock});});it('shouldbeabletocreateapost',function(done){var

javascript - 如何创建一个可模拟的类来连接到 mongoDB?

我已经尝试创建一个类来连接到mongoDB(并使用(gridfs-stream)获得gridFS连接)。但是我确实遇到了两个问题:我有时会收到mongo错误serverinstanceininvalidstateconnected我不可能模拟这个类-使用jestJS所以如果有人可以帮助我优化这个类以获得一个真正扎实的工作类,我将非常感激。例如,我不喜欢connect()函数中的letthat=this。Examplerepo数据库类constmongo=require('mongodb')constGrid=require('gridfs-stream')const{promisify

javascript - Fabrice Bellard 使用什么技巧使他的 Javascript PC 模拟器如此之快?

法布里斯·贝拉德的PCemulatorimplementedinJavascript速度快得令人印象深刻——它会在几秒钟内在浏览器中启动一个小型Linux镜像。使用了哪些技术来获得这种性能? 最佳答案 我认为与现代JS解释器的“速度”分享一些普遍的荣誉在Bellard的技术列表中是一个遥远的话题(因为他没有取代浏览器的引擎)。他的优化技巧是什么?是个很好的问题,我想得到更详细的记录。到目前为止我能说出的要点(可选)JS类型数组排除了不必要的内存分配动态(调整大小)。固定类型(大小)允许分配连续的内存块(此类block中没有可变长度元

javascript - 函数式 javascript 和 RxJS 中的依赖注入(inject)和模拟

我正在尝试使用RxJS和函数组合将用经典OOJavascript编写的库重写为更具功能性和react性的方法。我从以下两个易于测试的函数开始(我跳过了Observables的导入):创建连接.jsexportdefault(amqplib,host)=>Observable.fromPromise(amqplib.connect(host))创建channel.jsexportdefaultconnection=>Observable.fromPromise(connection.createChannel())测试它们所需要做的就是注入(inject)amqplib或连接的模拟,并确

javascript - 如何模拟在使用 Jest 测试的 React 组件中进行的 API 调用

我正在尝试模拟一个将数据检索到组件中的fetch()。I'musingthisasamodelformockingmyfetches,但我无法让它正常工作。我在运行测试时遇到此错误:babel-plugin-jest-hoist:Themodulefactoryof'jest.mock()'isnotallowedtoreferenceanyout-of-scopevariables。有没有办法让这些函数返回模拟数据,而不是实际尝试进行真正的API调用?代码utils/getUsers.js返回Angular色映射到每个用户的用户。constgetUsersWithRoles=role

javascript - 模拟虚拟世界 : continuous or discrete steps?

我正在制作类似于Polyworld的东西,这意味着我将模拟小爬行者在其中跑来跑去、进食和进化的虚拟世界。我正在用Node.js做,我计划使用物理和神经网络,但我不确定更新世界的最佳方式是什么,更具体地说,更新函数是否应该接收增量时间作为参数,或者每次都做同样的事情,独立于他们上次被调用的时间?这两种方式的好处是什么?编辑:我反对连续更新的一点是我想实现某种间隔,例如,每20模拟秒生成一个食物block。如果dt不同于1(或1的分数),这将永远无法精确工作。话又说回来,如果我使用离散更新,其中更新不关心经过了多少时间,我将无法“减慢时间”。当我让它在功能强大的服务器上运行并在浏览器中呈现

javascript - 浏览器中的 Bash shell 模拟

有没有办法只用Javascript/JQuery在浏览器中模拟Bashshell?我想在我们的网站上有一个演示,它模拟某人从Bashshell使用我们的新数据库系统。最好看起来有人在输入shell命令,输出会像典型的Bashshell那样逐行列出。我一直在谷歌搜索但没有找到任何东西,那么我应该如何实现它-使用什么JQuery插件可以使我的工作更轻松。 最佳答案 我根据examplemadebyKos做了一个解决方案,你可以看到完整的演示here.HTML%catexample.c#includeintmain(){printf("G

javascript - 轻松模拟 Restful 服务的工具

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion是否有一种工具可以轻松地模拟RESTful服务,以便我们可以轻松地测试我们的Ajax调用?例如,我需要模拟一个restful服务以返回JSON或XML格式的string。

javascript - enzyme 模拟提交表单,无法读取未定义的属性 'value'

我在使用jest和enzyme测试组件时遇到了一些困难。我想做的是测试提交名称字段中没有值的表单。这将确保组件显示错误。但是,当我运行其余部分时,我的控制台出现错误:TypeError:Cannotreadproperty'value'ofundefined我对前端测试和一般测试还很陌生。所以,我不完全确定我是否正确地使用enzyme进行此类测试。我不知道我的测试是否不正确,或者我是否刚刚编写了一个不容易测试的组件。如果可以更轻松地测试,我愿意更改我的组件吗?组件classInputFormextendsComponent{constructor(props){super(props)