首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

$translate.instant总是通过jasmine测试返回对象(而不是字符串

$translate.instant总是通过jasmine测试返回对象(而不是字符串)是因为$translate.instant是AngularJS中的一个翻译服务,它用于在应用程序中进行国际化和本地化。它的作用是根据给定的键值获取对应的翻译文本。

在jasmine测试中,$translate.instant返回的是一个对象,而不是字符串,是因为在测试环境中,$translate服务会返回一个包含键值和翻译文本的对象,以便测试人员可以验证翻译是否正确。

这样设计的好处是可以方便地进行测试和验证翻译结果。测试人员可以通过访问返回的对象的属性来获取翻译文本,并与预期的结果进行比较。

对于开发者来说,可以通过在测试用例中使用jasmine的匹配器(matcher)来验证翻译结果是否符合预期。例如,可以使用toEqual匹配器来比较返回的对象与预期的对象是否相等。

总结起来,$translate.instant在jasmine测试中返回对象而不是字符串,是为了方便测试人员验证翻译结果,并通过jasmine的匹配器进行比较。这样可以确保应用程序在国际化和本地化方面的功能正常运行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular2 之 单元测试

伪造服务实例 被测试的组件不一定要注入真正的服务。实际上,服务的复制品(stubs, fakes, spies或者mocks)通常会更加合适。 spec的主要目的是测试组件,不是服务。...通过测试代码放到特殊的异步测试区域来运行,async函数简化了异步测试程序的代码。 接受无参数的函数方法,返回无参数的函数方法,变成Jasmine的it函数的参数。...比如,它不返回承诺,并且没有done方法可调用,因为它是标准的Jasmine异步测试程序。...fakeAsync fakeAsync是另一种Angular测试工具。 和async一样,它也接受无参数函数并返回一个函数,变成Jasmine的it 函数的参数。...如果组件想期待的那样工作,click()通知组件的selected属性发出hero对象测试程序通过订阅selected事件检测到这个值,所以测试应该成功。

5.5K20

写代码无BUG,网易云前端单元测试方案总结

同时观察上面的输出可以发现,这个报告更像是程序的错误报告,不是一个单元测试报告。...而我们在做单元测时往往需要断言库能够提供良好的测试报告,这样才能一目了然地看到有哪些断言通过通过,所以使用专业的单元测试断言库还是很有必要。 chai ?...默认的测试报告不是很直观, 如果希望提供类似 Mocha 风格的报告可以安装 jasmine-spec-reporter ,在 spec/helpers 目录中添加一个配置文件, 例如spec/helpers...render 使用 react-dom-server 渲染成 html 字符串,基于这份静态文档进行操作,对应的操作对象为 CheerioWrapper。...Render 渲染 render 内部使用 react-dom-server 渲染成字符串,再经过 Cherrio 转换成内存中的结构,返回 CheerioWrapper 实例,能够完整地渲染整个DOM

9.5K20

译|通过构建自己的JavaScript测试框架来了解JS测试

如果你的测试使用某些外部资源(例如网络或数据库),则不是单元测试。 单元测试框架试图以人类可读的格式描述测试,以便非技术人员可以理解所测试的内容。...“nnamdi”的字符串 expect 函数接受一个要测试的参数,并返回一个包含匹配器函数的对象。...在这里,它返回一个具有 toBe 和 toEqual 函数的对象,它们具有期望参数,用于与 expect 函数提供的 value 参数匹配。...showTestsResults 函数通过 stats 数组进行解析,并在终端上打印通过和失败的测试。 我们实现了这里的所有函数,并将它们都设置为全局对象,这样才使得测试文件调用它们时不会出错。...看到通过测试期望“add Hello + World”,它将返回“HelloWorld”,但我们期望返回“Hello”。如果我们纠正它并重新运行测试,所有测试都将通过

1.5K10

为ES6配置JavaScript测试工具

正如你可能知道的那样,Babel自身用来把ES6的新语法转变为旧的JavaScript引擎可以理解的格式,babel-polyfill则会提供旧引擎中缺失的ES6对象(例如Promise)和函数(例如...即使你在测试代码中使用require加载了任何断言库或是其它的工具库,在执行测试的HTML你都不必引入它们。 Jasmine 对Node.js环境来说,Jasmine不是一个理想的选择。...不像Mocha,Jasmine并没有提供命令行参数用于配置转译。因此我们需用通过babel-node来启动Jasmine。...在加载Chai时,我们使用了const不是var。这意味着我们不会在不经意间重新定义该变量,并且它明确表明了我们不希望修改它的意图。 我们还使用了箭头函数。...但是由于Mocha自带Promise支持,我们可以在测试中直接返回一个Promise,Mocha会等待直到它被resolve。

2.9K20

protractor量角器软件_flashback啥意思

node --version Node 中附带了 npm 包管理工具,通过 npm 可以下载和安装 protractor。 默认情况下,protractor 使用 Jasmine 作为测试框架。...}); }); 这里,我们使用全局的 element 函数和 by 对象,它们也是 protractor 创建的函数,element 函数用来在页面中定位 HTML 元素,函数返回一个 ElementFinder...可以通过这个对象与页面元素进行交互或者获取信息。在这个测试中,我们使用了 sendKeys 在 input 元素中输入内容,click 函数来模拟点击按钮,getText 获取元素的内容。...由于结果是 3 ,不是 5,我们的测试失败。修复这个测试,然后重新运行它。...specs: ['spec.js'], capabilities: { browserName: 'firefox' } } 重新运行测试,你会看到测试运行在 firefox 中不是原来的 chrome

1.9K40

深入理解JavaScript(二)

():以日期为对象转换成JSON字符串 二十一、Math A.Math属性 Math.E(欧拉常数)、Math.LN2(2的自然对数)、Math.LN10(10的自然对数)、Math.LOG2E(以2...Math.max(……):返回参数中最大的数字,通过apply可以应用于数组 Math.random():返回一个伪随机数,0<=r<=1 二十二、JSON A.背景 1.遵循两个原则 字符串必须使用双引号...==);只有空格或只用制表符缩进,但不要混合使用;引用字符串;避免全局变量; 2.括号风格:使用1TBS,左括号开始于同一行的语句头部之后,if(x){这样 3.推荐字面量不是构造函数 4.不要自作聪明...推荐构造函数不是其他实例创建模式 避免私有数据使用闭包 即使构造函数没有参数,也要写括号 小心操作符优先级 二十七、调试的语言机制 调试器声明的行为类似于设置数点并启动调试器 console.log...:Jasmine、mocha 3.压缩:UglifyJS、YUI Compressor、Closure Compiler

76620

TypeScript实现Map与HashMap

字典的实现 字典通过键值对的形式来存储数据,它的键是字符串类型,调用者传的key是什么,它的键就是什么。...,将key转为字符串,然后将其作为参数传给字典对象,最后调用对象的delete方法删除目标key,返回true 获取字典中存储的所有对象 (keyValues) keyValues方法不接收任何参数,返回值为一个对象数组...清空字典(clear),直接将字典对象初始化为空对象即可 将字典中的数据转为字符串 (toString) toString方法不接收任何参数 如果字典为空,则直接返回字符串。...在查找元素时,字典需要去迭代整个数据结构来查找目标元素,散列表是通过hash值来存储的,我们只需要对目标元素进行hash值计算,就可以快速找到目标元素的位置。因此,散列表的效率要比字典的效率高。...返回valuePairs 线性探查 另一种解决冲突的方法是线性探查,之所以成为线性,是因为它处理冲突的方法是将元素直接存到表中,不是在单独的数据结构中。

1.2K30

分享7个专业级的JavaScript测试库,提高你的工作效率

JavaScript作为全球最流行的编程语言之一,拥有大量的库和框架,能够帮助我们更好地进行测试。...https://github.com/jasmine/jasmine 使用示例 Jasmine是一个用于JavaScript代码的行为驱动开发(BDD)测试框架。...在Node.js环境中,你可以通过npm(Node包管理器)来安装: npm install --save-dev jasmine 安装完Jasmine后,你可以在你的项目中创建一些测试文件。...,那么测试就会通过。如果函数的行为与我们的预期不符,那么测试就会失败,并显示一条描述失败原因的消息。 以上就是对Jasmine库的基本介绍和示例。...// 使模拟对象的方法在调用时返回特定的值 td.when(mockObject.method1()).thenReturn('hello'); // 现在,当你调用 mockObject.method1

22520

25个超有用的 AngularJS Web 开发工具

官方网站:http://angular.github.io/protractor/ 2)AngularJS测试框架——Jasmine Jasmine对于JavaScript用户而言,也是一款测试框架。...官方网站:https://github.com/jasmine/jasmine 3)支持AngularJS的IDE——Webstorm WebStorm的智能代码编辑器为JavaScript、Node.js...Djangular允许你创建AngularJS内容的app,不是包含了Django的单一庞大的AngularJS应用程序。 ?...官方网站:http://vesparny.github.io/angular-kickstart/#/ 17)ng book 当我们在构建大型的Angular应用程序时,总是难以避免经常性地碰到那些看似难以发现和解决令人头疼无比的问题...当你修改代码保存之后,它可以通过特殊的协议,将改变传达给正在工作中的应用程序。支持AngularJS。 ?

3.7K50

Twitter工程师聊JS

Javascript 不是一个单一的语言,每个浏览器有自己的JS引擎,在不同浏览器和版本之间产生了不少差异 兼容性问题比较麻烦,http://caniuse.com 这个网站给出了各个API在不同浏览器下的支持情况...ES6 是最新的JS规范,引入了一些新的语法和功能,例如 箭头符、类、本地模块、模板字符串 …… http://blog.teamtreehouse.com/get-started-ecmascript...可以把你的代码转换为兼容各个平台的代码 JS还有一些变体,例如 ClojureScript、TypeScript、CoffeeScript ClojureScript 是Clojure转换到JavaScript,Clojure...JS的测试越来越重要,JS本身没有测试框架,需要依赖外置库 Mocha和Jasmine是两个主流库,你来定义预期行为,然后进行断言 对于运行测试,Mocha提供了命令行工具,Jasmine没有,很多开发者使用...Karma,他是一个test runner,Mocha和Jasmine测试都可以使用Karma运行 我个人的建议是 Karma + Jasmine,如果需要用到浏览器测试时,使用PhantomJS

1.4K60

2017年前端框架、类库、工具大比拼

典型的类库包括字符串处理、日期、HTML DOM元素、事件、Cookie、动画、网络请求等功能。你可以自己实现一个函数,以便选择该函数被调用时是否需要返回一个值。...它们提供了数百个功能性的JavaScript实用程序来补充原生字符串、数字、数组和其它原始对象方法。虽然两个类库之间有一些重叠,但是不太可能在一个项目中同时使用这两个类库。...优点: 小简单 良好的文档易于学习 与大多数类库和框架兼容 不扩展内置对象 可以在客户端或服务器上使用 缺点: 有些方法只在ES2015及更高版本的JavaScript中可用。...统计显示React的使用度似乎很低,因为它是在应用程序中使用不是在网站。...优点: 小轻便,无依赖 优秀的浏览器支持,可以支持到IE6 良好的文档资源 缺点: 较大的项目可能变得很复杂 发展已经放缓 使用情况似乎在减弱 更多的框架和类库 以下项目虽然不是特别流行,但值得考虑:

2.3K10

React测试框架之enzyme

Enzyme的API和jQuery操作DOM一样灵活易用,因为它使用的是cheerio库来解析虚拟DOM,cheerio的目标则是做服务器端的jQuery。...Enzyme兼容大多数断言库和测试框架,如chai、mocha、jasmine等。...不需要DOM环境, 并可以使用jQuery的方式访问组件的信息; render:静态渲染,它将React组件渲染成静态的HTML字符串,然后使用Cheerio这个库解析这段字符串,并返回一个Cheerio...get(index):返回一个react node,要测试它,需要重新渲染; contains(nodeOrNodes):当前对象是否包含参数重点 node,参数类型为react对象对象数组; text...,然后使用Cheerio这个库解析这段字符串,并返回一个Cheerio的实例对象,可以用来分析组件的html结构。

1.1K10

前端自动化测试解决方案探析

通过测试来推动整个开发的进行。...这有助于编写简洁可用和高质量的代码,并加速实际开发过程   BDD和TDD均有各自的适用场景,BDD一般更偏向于系统功能和业务逻辑的自动化测试设计,TDD在快速开发并测试功能模块的过程中则更加高效,以快速完成开发为目的...测试集,以函数describe(string, function)封装;测试用例,以it(string, function)函数封装,它包含2个参数;断言,以assert语句表示,返回true或false...测试集以函数describe(string, function)封装;测试用例,以it(string, function)函数封装,它也包含2个参数;断言,以expect语句表示,返回true或false...它通过QUnit.test定义一个测试集,一个测试集中通过回调函数里面多个断言判断来实现多个测试用例,使用起来非常简单。 <!

1.4K10

前端接入单元测试(Node+React)

在开发新框架时,直接运行老前端框架的单侧用例,如果所有测试用例都通过,则可快速保证内部api的一致性,快速验证所有功能。...JasmineJasmine 是单测框架的“元老”,开箱即用,但是异步测试支持较弱。JestJest 基于 Jasmine, 做了大量修改并添加了很多特性,同样开箱即用,但异步测试支持良好。...Augular 的默认测试框架就是 Karma + Jasmine,Egg默认测试框架是Mocha, React 的默认测试框架是 Jest。...describe('formatDate测试', ()=>{ it('formate 0 返回 1970-1-1', () => { expect(formatDate(0)).toBe('1970-1...,如果不一致,测试通过,说明组件有改动更新快照对比结果:npm test – -u 了解测试覆盖率 Statements 语句覆盖率,它其实对应的就是js语法上的语句,js解析成ast数中类型为 statement

3.3K30

使用Enzyme测试React(Native)组件|洞见

虽说组件化不是React最先提出来的,但却是被React在前端世界里发扬光大的,现在几乎所有的所谓现代化UI框架比如Angular或者Vue都已经将组件化作为框架的立足之本。 ?...Enzyme理论上应该与所有TestRunner和断言库相兼容,已经集成了多种测试类库,比如Jest、Mocha&Chai、Jasmine,不过这些不是我们今天的重点。...在这个对象的基础上,at方法则可以返回指定位置的子组件,simulate方法可以在这个组件上模拟触发某种行为。...wrapper.find({ bar: false }) wrapper.find({ title: 'baz'}) 如果一个组件存在于渲染树中,其中设置了displayName并且它的第一个字符为大写字母,就能通过字符串找到它...事实上,我们可以通过欺骗React Native让它返回常规的React组件不是Native组件,然后就又能愉快地使用传统的JavaScript测试库来单独测试React Native组件逻辑。

2.3K40

单元测试初体验

该工具可用于测试所有主流Web浏览器。这个测试工具的一个强大特性就是,它可以监控(Watch)文件的变化,然后自行执行,通过 console.log 显示测试结果。...expect 和 should是 BDD 风格的,二者使用相同的链式语言来组织断言,但不同在于他们初始化断言的方式:expect 使用构造函数来创建断言对象实例, should 通过为 Object.prototype...该标记可以让其后的断言不是比较对象本身,而是递归比较对象的键值对。...对于数组和字符串,它检查 length 属性,对于对象,它检查可枚举属性的数量 expect([]).to.be.empty expect('').to.be.empty expect({}).to.be.empty...sinon.js 中 spy 主要用来监视函数的调用情况,sinon 对待监视的函数进行 wrap 包装,因此可以通过它清楚的知道,该函数被调用过几次,传入什么参数返回什么结果,甚至是抛出的异常情况。

1.5K20

【Hybrid开发高级系列】AngularJS(一)——基础专题

注意我用了class不是ng-class,这是不可以对换的,官方的文档也未做说明,姑且认为这是ng的语法规则吧。         ...内聚是指模块或者对象内部的完整性,一组紧密联系的逻辑应该被封装在同一模块、对象等代码单元中,不是分散在各处;耦合则指模块、对象等代码单元之间的依赖程度,如果一个模块的修改,会影响到另一个模块,则说明这两模块之间是相互依赖紧耦合的...尽管AngularJS没有强迫你使用Jasmine,但是我们在教程里面所有的测试都使用Jasmine编写。...你可以在Jasmine的官方主页或者Jasmine W iki上获得相关知识。         基于AngularJS的项目被预先配置为使用JsTestDriver来运行单元测试。...尽管这看起来结果是同步返回的($scope.phones = Phone.query();),其实根本就不是。被同步返回的是一个“future”——一个对象,当XHR相应返回的时候会 填充进数据。

41580

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券