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

SAP Spartacus使用到的技术栈

rollbar 是一个异常监控平台,2018 年发布一份前端项目中Top10的错误类型报告,其中前7位都和类型错误有关。而TypeScript的编译器类型检查就能避免不少的类型错误。...TypeScript通过强类型接口,在服务实现者和服务调用者之间创建了一种契约,这在像Spartacus这种开发者来自世界各地不同公司和组织的开源项目中非常重要。...Ngrx: Angular里一种优雅的管理应用状态的库。...NgRx作为第三方,能够统一管理组件的状态,降低了Spartacus这类复杂前端应用组件间状态管理的复杂度和出错的可能。...Jasmine:前端单元测试框架。 Cypress:端到端自动化测试框架。 我们通过完善的单元测试和端到端自动化测试,保障Spartacus这种开源项目的代码质量。

1.7K20

SAP Spartacus使用到的技术栈

rollbar 是一个异常监控平台,2018 年发布一份前端项目中Top10的错误类型报告,其中前7位都和类型错误有关。而TypeScript的编译器类型检查就能避免不少的类型错误。...TypeScript通过强类型接口,在服务实现者和服务调用者之间创建了一种契约,这在像Spartacus这种开发者来自世界各地不同公司和组织的开源项目中非常重要。...Ngrx: Angular里一种优雅的管理应用状态的库。...NgRx作为第三方,能够统一管理组件的状态,降低了Spartacus这类复杂前端应用组件间状态管理的复杂度和出错的可能。...Jasmine:前端单元测试框架。 Cypress:端到端自动化测试框架。 我们通过完善的单元测试和端到端自动化测试,保障Spartacus这种开源项目的代码质量。

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

使用 Ngrx ActionSubject 监听 Dispatched NgRx Actions

NgRx 是一个用于 Angular 应用开发的响应式 State 管理工具库。 受到 Redux 的影响,Ngrx 底层使用 Rxjs 来允许用户管理整个应用的全局状态。...使用NgRx需要理解一些关键概念,Actions 就是其中之一。 在NgRx上下文中,动作描述的是可以从任何地方(例如组件和服务)分派的唯一事件实例。 下面的代码展示一个简单操作的样子。...对于上图所示的源代码,可以编写单元测试代码,检查提交了 login form 之后,是否调度了对应的 action. 如果应用程序变大,应用程序状态也会变大。...一开始你可能只有几个动作,一个减速器和两个效果,但几年后,你可能突然有动作、减速器和效果分散在不同团队的不同应用程序和库中。...NgRx提供一个整洁的实用程序ActionsSubject,我们可以通过依赖注入来访问它,如下图所示: 这个名字已经表明我们在使用 Subject 的概念了。

1.7K30

参加 Spartacus 开源项目开发时需要注意的一些编程规范

我们使用 NgRx 存储来管理 Spartacus 功能中的全局应用程序状态。 使用 NgRx 在性能、更好的可测试性和易于故障排除、方面具有明显的优势。...如果要从 UI 组件调用使用 NgRx 逻辑的功能,则应实现外观服务功能以公开功能并将 NgRx 代码封装在核心库中。 NgRx 的复杂性被封装在核心库中。 门面服务可从核心库中获得。...外观服务公开了核心库功能,但它们在其实现中隐藏 NgRx 逻辑。 内置 Spartacus UI 组件不应包含 NgRx 逻辑。 相反,UI 组件应该调用外观服务函数。...单元测试必须覆盖所有代码。 关于端到端测试,基本的 UI 端到端测试以及可访问性端到端测试必须始终涵盖面向 UI 的新功能。 测试的文件名应以 e2e-spec.ts 结尾。

68340

这些必备的VSCode JavaScript插件你都用过吗?

JavaScript Snippets(提供ES6代码片段的集合。它包含对Mocha、Jasmine等其他BBD(Behavior-Driven Development)测试框架的支持。)...这意味着,你会频繁地刷新浏览器以观察每次你更新代码的效果。这里有一些工具,能极大地减少你开发时的这种重复流程,而不是每次都手动刷新浏览器: 1....Angular 6(提供Angular 6的代码片段,支持TypeScript、HTML、Angular Material ngRx、RxJS和Flex Layout。...你可以通过阅读我们的指南-JavaScript测试:单元测试 vs 功能测试 vs 集成测试-来获得对JavaScript测试的一个概观。...Jasmine Code Snippets(针对Jasmine测试框架的代码片段。) Protractor Snippets(针对Protractor端到端测试框架的代码片段。

5.7K10

Jest 测试框架 beforeEach 的设计原理解析

副标题:SAP Spartacus SSR 优化的单元测试分析之一 : beforeEach 文档 SAP Spartacus 里这段代码: originalEngine = jasmine...这个新创建的 spy 对象,还是位于 jasmine namespace 之下。...spy.and: 返回 SpyStrategy 实例: 接下来,我们就可以通过这个 spy 对象的 strategy 方法,指派这个 spy 去做一些事情。...如果我们的单元测试代码里,使用 and 指定这个 spy 被调用之后,应该返回什么样的值,则这些指定值,在上图第 7687 行代码被返回。...,则调用时传入的参数和返回值必定会被 jasmine 记录在案: 使用 mock 过的 spy 调用,记录这三个输入参数: 更多Jerry的原创文章,尽在:“汪子熙”:

1.1K10

Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版

Spartacus特性之二:响应式设计和自适应设计 这是web应用的用户体验领域两个容易混淆的概念,因为二者都是为了解决网页在不同屏幕尺寸的设备上展示的问题。...从编程角度讲,响应式设计通过各种前端技术,为页面元素赋予根据屏幕分辨率的变化而自动调整显示行为,以达到最佳显示效果的能力。 ?...Ngrx: Angular应用使用的一个能够优雅的管理应用状态的库。...Jasmine:一个前端单元测试框架。 Cypress:一个端到端的自动化测试框架。 我们通过完善的单元测试和端到端自动化测试,保障Spartacus这种开源项目的代码质量。...Spartacus同Commerce系统的通信,通过HTTP协议调用OCC API完成。Connector是HTTP调用的发起者,维护静态的配置信息,即API的endpoint.

1.3K20

对 React 组件进行单元测试

', function() { ... }); ... }); spy 正如 spy 字面的意思一样,我们用这种“间谍”来“监视”函数的调用情况 通过对监视的函数进行包装,可以通过它清楚的知道该函数被调用过几次...这样就实现更准确的单元测试。...React 单元测试中用到的工具 Jest 不同于"传统的"(其实也没出现几年)的 jasmine / Mocha / Chai 等前端测试框架 -- Jest的使用更简单,并且提供更高的集成度、更丰富的功能...四个基础单词 编写单元测试的语法通常非常简单;对于jest来说,由于其内部使用了 Jasmine 2 来进行测试,故其用例语法与 Jasmine 相同。..._modalClass = FakeReactBootstrapModal; } } 这样测试即可顺利进行,跳过了并不重要的 UI 效果,而各种逻辑都能被覆盖了 模拟fetch请求 在单元测试的过程中

4.2K40

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

随着 Nodejs 的出现,我们已经看到了许多超级 JS 测试框架的发布:Jasmine,Jest 等。 ? 单元测试框架 这有时也称为隔离测试,它是测试独立的小段代码的实践。...如果你的测试使用某些外部资源(例如网络或数据库),则不是单元测试单元测试框架试图以人类可读的格式描述测试,以便非技术人员可以理解所测试的内容。...这些活动称为“设置和拆卸”(用于清理),Jasmine 有一些功能可用来简化此工作: beforeAll 这个函数在 describe 测试套件中的所有规范运行之前被调用一次。...我们实现这里的所有函数,并将它们都设置为全局对象,这样才使得测试文件调用它们时不会出错。...看,它给我们展示计数据,通过测试的总数,以及带有“失败”或“通过”标记的测试套件列表。

1.5K10

为ES6配置JavaScript测试工具

你该如何为ES6代码编写单元测试呢?又该如何配置测试工具以支持这些新特性呢?...即使是你使用了一个调用了Babel的库,这也是适用的。把配置选项写入.babelrc文件意味着你不必在多处维护这些信息。...即使你在测试代码中使用require加载任何断言库或是其它的工具库,在执行测试的HTML你都不必引入它们。 Jasmine 对Node.js环境来说,Jasmine并不是一个理想的选择。...接下来就可以利用Babel执行我们的Jasmine测试代码: babel-node node_modules/.bin/jasmine 同样的,我们可以把它作为npm script写入package.json...{ const expectedResult = 2; expect(1 + 1).to.equal(expectedResult); }); }); 这和使用require的效果完全相同

2.9K20

实例入门 Vue.js 单元测试

作为一个以 文档丰富 而广为人知的前端开发框架, Vue.js 的官方文档中分别在《教程-工具-单元测试》、《Cookbook-Vue组件的单元测试》里对 Vue 组件的单元测试方法做出了介绍,并提供官方的单元测试实用工具库...', function() { ... }); ... }); 1.6 spy 正如 spy 字面的意思一样,我们用这种“间谍”来“监视”函数的调用情况 通过对监视的函数进行包装,...这样就实现更准确的单元测试。...Vue.js 中的单元测试工具 2.1 Jest 不同于"传统的"(其实也没出现几年)的 jasmine / Mocha / Chai 等前端测试框架;Jest的使用更简单(也许就是这个单词的本意“俏皮话...四个基础单词 编写单元测试的语法通常非常简单;对于jest来说,由于其内部使用了 Jasmine 2 来进行测试,故其用例语法与 Jasmine 相同。

2.8K20

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

二、单元测试解决方案   就前端而言,单元测试的实现工具比较多。主要有mocha,jasmine和qunit。我们先来看看使用mocha是怎样实现单元测试的。...jasmine是一个BTT的框架,不依赖其它框架。...它也包含2个参数;断言,以expect语句表示,返回true或false;断言的比较操作时,将Expectation传入的实际值和Matcher传入的期望值比较,另外任何Matcher都能通过在expect调用...三、集成化测试解决方案   除了模块单元的测试驱动开发,在系统功能测试阶段,我们希望自动化完成业务功能正确性的检测,此时我们就要考虑集成测试方案。目前前端集成化测试自动化工具也有比较多。...四、总结与注意事项   通过对单元测试工具和集成测试工具的概述介绍,我们基本了解了单元测试和集成测试的核心部分和特点,尽管目前主流的测试工具各不相同,但是基本的流程原理确实相同的,小结里面也为大家做了分析

1.4K10

前端单元测试,更进一步

前端测试@2022 如果从 2014 年 Jest 的第一个版本发布开始计算,前端开发领域工程化的单元测试能力已经发展八年有余。...Jest 集成了 Jasmine 等以往各种被证明有效的单元测试框架和断言等工具,也可以用来完成包含外部接口服务的集成测试等。...pre-commit 等开发流程中,也容易重蹈早期 Jasmine 等基于浏览器页面单测用例的覆辙 -- 编写简单但很容易过时失效。...那么我们也没有任何理由让这部分测试代码游离在覆盖率统计之外,或是再去单测中编写重复的代码。...,甚至可以在 Playwright 中调用 Storybook 服务后再编写自动化测试 -- 后者这里不展开讨论;总之,测试工具的发展,给前端开发者更直观编写测试用例的手段,最终也更好地保证前端项目的开发质量

1K00

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

二、单元测试解决方案 就前端而言,单元测试的实现工具比较多。主要有mocha,jasmine和qunit。我们先来看看使用mocha是怎样实现单元测试的。...jasmine是一个BTT的框架,不依赖其它框架。...它也包含2个参数;断言,以expect语句表示,返回true或false;断言的比较操作时,将Expectation传入的实际值和Matcher传入的期望值比较,另外任何Matcher都能通过在expect调用...除了模块单元的测试驱动开发,在系统功能测试阶段,我们希望自动化完成业务功能正确性的检测,此时我们就要考虑集成测试方案。目前前端集成化测试自动化工具也有比较多。...四、总结与注意事项 通过对单元测试工具和集成测试工具的概述介绍,我们基本了解了单元测试和集成测试的核心部分和特点,尽管目前主流的测试工具各不相同,但是基本的流程原理确实相同的,小结里面也为大家做了分析。

1.6K70

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

二、单元测试解决方案   就前端而言,单元测试的实现工具比较多。主要有mocha,jasmine和qunit。我们先来看看使用mocha是怎样实现单元测试的。...jasmine是一个BTT的框架,不依赖其它框架。...它也包含2个参数;断言,以expect语句表示,返回true或false;断言的比较操作时,将Expectation传入的实际值和Matcher传入的期望值比较,另外任何Matcher都能通过在expect调用...三、集成化测试解决方案   除了模块单元的测试驱动开发,在系统功能测试阶段,我们希望自动化完成业务功能正确性的检测,此时我们就要考虑集成测试方案。目前前端集成化测试自动化工具也有比较多。...四、总结与注意事项   通过对单元测试工具和集成测试工具的概述介绍,我们基本了解了单元测试和集成测试的核心部分和特点,尽管目前主流的测试工具各不相同,但是基本的流程原理确实相同的,小结里面也为大家做了分析

99021
领券