自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 一个SAP开发人员的2019年终总结

青春少年是样样红 可是太匆匆 流金岁月人去楼空 人生渺渺在其中 荣华富贵呀飞呀飞 世上的人呀追呀追 荣华富贵呀飞呀飞 何时放下歇一歇 能不能愿昼吉祥夜吉祥 愿用家财万贯 买个太阳不下山 小的时候,听过黄安这首《样样红》,觉得是首口水歌曲。如今Jerry也到了上有老,下有小的年纪,即将年满四十,觉得...

2020-09-05 17:50:16 1360 0

原创 Angular ng-container使用的一个例子

Angular官网里对ng-container的介绍: The Angular is a grouping element that doesn’t interfere with styles or layout because Angular doesn’t put it in the DO...

2020-09-30 16:13:38 478 0

原创 Angular单元测试里pipe的mock设计

我想对下列这个Component的UI进行单元测试。其中有一个自定义的cxUrl pipe,在单元测试时,我需要对其进行Mock: 解决方法,在单元测试的实现代码里,创建一个用@Pipe修饰过的MockUrlPipe,在其transform方法里什么都不做即可: 运行时的截图: refresh...

2020-09-30 13:52:42 498 0

原创 Angular async pipe在html模板中的一个实际应用

看个例子: <cx-carousel [items]="items$ | async" [title]="title$ | async" [template]="carouselItem" itemWidth=&q...

2020-09-30 12:30:47 488 0

原创 Angular Component 开发时属性和运行时属性的对照

看个具体的例子: @Component({ selector: 'cx-carousel', template: ` <ng-container *ngFor="let item$ of items"> <ng-...

2020-09-29 21:15:31 559 0

原创 我的工作日志 - 2020年9月29日 星期二 晴

Today I submitted my first unit test for Kacper’s review, and now working on some changes according to his feedback. P.S: 今天软件园的天气很不错:

2020-09-29 19:42:38 611 0

原创 Angular页面在开发模式(DevMode)下的ng-reflect-属性是如何生成的

以自定义Component为例: 在渲染该页面时,调用θθproperty方法: setNgReflectProperties这个自描述的方法,设置我们在Angular页面里看到的NgReflect属性: 生成ng-reflect-items属性: 下面是一些生成其他属性的例子: ...

2020-09-29 19:30:32 583 0

原创 Angular页面调试一个有用的小技巧 - normalizeDebugBindingName和normalizeDebugBindingValue - [object Object]

在开发模式下渲染出的Angular页面包含了很多形如下图ng-reflect-的html属性,很多时候其值都为[object Object]. 如果处于调试目的,需要在Chrome开发者工具里观察这些值的具体内容,可以采取本文介绍的一个小技巧: 在下列两个函数里设置断点: normalizeD...

2020-09-29 16:42:07 607 0

原创 Angular Component UI单元测试的隔离策略

这是我需要进行单元测试的Component UI: 可以看到它依赖了另一个Component,其selector为cx-carousel. 因此我在单元测试实现文件里,给它创建一个mock Component:MockCarouselComponent: @Component({ sele...

2020-09-29 16:09:55 502 0

原创 Angular Observable数据类型的单元测试数据准备

我有一个Component,其items属性是一个嵌套的Observable: items$: Observable<Observable<Product>[]> = this.componentData$.pipe( map((data) => data...

2020-09-29 15:00:54 512 0

原创 为SAP Spartacus安装后台必须的Commerce Cloud

Sample custom.properites file To get Spartacus working with local SAP Commerce Cloud Not to be used with production Please review settings with exper...

2020-09-29 14:05:19 495 0

原创 Angular jasmine.expect单步调试

源代码: it('should be created', async(() => { expect(component).toBeTruthy(); })); 这是一个工厂方法,为spec返回一个expectation: toBeTruthy的实现...

2020-09-29 13:57:41 482 0

原创 SAP Spartacus单元测试用例中Component构造函数的调用上下文

我有一个Angular Component,构造函数的两个参数通过依赖注入指定。 在单元测试时候,观察这两个参数如何被注入的。在构造函数被调用之前,先执行实例的初始化逻辑: 观察此时的this: 最后才执行构造函数: 但很奇怪的是,从上面的观察能看出,在构造函数执行之前,component...

2020-09-29 13:35:36 457 0

原创 在Visual Studio Code里编写ABAP代码

今天在公司在线安装SAPGUI,一上午的时间都没把安装包下载完,有点怀念07年刚入坑ABAP时那会儿身材苗条的SAPGUI. 最近Visual Studio Code里和ABAP相关的扩展越来越多了, 有兴趣的朋友可以试试,体验在传统ABAP开发工具之外的地方编码的不一样感觉。 本文最后一张图...

2020-09-29 13:22:13 392 0

原创 使用SAP download manager下载SAP软件

我由于工作需要,得下载SAP Commerce Cloud 2005. 找到了下载链接: https://support.sap.com/en/my-support/software-downloads.html#section_995042677 点击这个按钮,将Commerce Cloud ...

2020-09-29 11:20:27 436 0

原创 SAP Spartacus单元测试里Component实例的创建细节

启动命令:ng test storefrontlib 单元测试里,使用TestBed创建Component实例的源代码: 首先在Chrome开发者工具里找到单元测试用例的实现源代码: 在_karma_webpack/src目录下: Component实例在单元测试用例里的创建方式: ...

2020-09-29 10:55:12 371 0

原创 SAP电商云简介

SAP电商云(SAP Commerce Cloud)是SAP 于2013年收购hybris software之后,进行持续整合和开发而成的一款全渠道客户互动与商务解决方案,包含b2c和b2b等方面的功能。对于第一次接触这款产品的新手来说,可以近似地把电商云的前台(Storefront)类比成我们平...

2020-09-29 08:41:49 440 0

原创 一个实用的显示Visual Studio Code文件绝对路径的扩展应用

名称叫Active File In StatusBar: 安装完毕后,在status bar会显示出文件的绝对路径,很方便: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

2020-09-28 21:06:07 468 0

原创 SAP Spartacus里的产品主数据显示的数据源

打开Storefront首页: url:https://jerry.eastus.cloudapp.azure.com:9002/occ/v2/electronics-spa/products/300938?fields=code,name,summary,price(formattedValu...

2020-09-28 20:45:56 457 0

原创 Angular karma test.ts里一些标准api用console.log打印出的输出

在tsconfig.spec.json的exclude数组里只能设置哪些文件被排除在编译之外: 单纯地将.spec.ts文件排除在外,可能会引起编译错误。如果确实想不执行某些单元测试用例,请参考我这篇文章:Angular单元测试如何只执行指定的测试用例,提高测试速度 将require.con...

2020-09-28 20:11:16 472 0

原创 演讲预告:一个月的住院经历,我悟到了哪些和程序员职场发展相关的心得

时间过得很快,一转眼我出院后上班已经快两个月了。 最近有公众号的关注者给我留言,询问一些ABAP开发的细节问题。不巧的是,我八月份返回公司之后,领了新的开发电脑,SAPGUI和ABAP Development Tool还没有时间安装,因此现在手上没有ABAP开发环境了,也没有办法登进系统查看代码来...

2020-09-28 19:44:12 533 0

原创 SAP Spartacus的单元测试目录结构

启动单元测试的命令: yarn test:core:lib // running all of the unit tests - they need to be green, so you can push the changes easily projects下面的core和storefron...

2020-09-28 19:41:20 326 0

原创 我的工作日志 - 2020年9月28日 星期一 阴

Last friday during my code review with Kacper we realized that the unit test for HttpParamsEncoder class is missing, so Kacper planed to create a new...

2020-09-28 19:30:38 323 0

原创 SAP Spartacus里的concurrently依赖

我在Spartacus项目文件夹的package.json里看到了这个devDependencies: concurrently 这是一个前端工程化并行解决方案, 在Spartacus里的具体用法: package.json里指定concurrently “命令1” “命令2” “命令3” ...

2020-09-28 19:27:42 309 0

原创 Angular开发遇到的一个错误消息 - Expected linebreak to be LF(和本地文件的换行设置有关)

命令: ng test core --code-coverage console会不定期打印出单元测试执行结果: 最后2554个全部执行完毕。 在Visual Studio Code里进行Angular开发,遇到错误消息: Expected linebreak to be ‘LF’ (li...

2020-09-28 18:06:03 220 0

原创 SAP Spartacus core模块的单元测试

命令: ng test core --code-coverage console会不定期打印出单元测试执行结果: 最后2554个全部执行完毕。 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

2020-09-28 17:53:16 130 0

原创 SAP Spartacus HttpParamsURIEncoder单元测试文件备份

import { HttpParamsURIEncoder } from "./http-params-uri.encoder"; describe('HttpParamsURIEncoder', () => { const httpPar...

2020-09-28 17:44:46 119 0

原创 Angular单元测试的一个错误消息

错误消息: ‘expect’ was used when there was no current spec, this could be because an asynchronous test timed out 原始的单元测试代码: describe('Jerry for Sp...

2020-09-28 16:33:40 137 0

原创 Angular单元测试如何只执行指定的测试用例,提高测试速度

Angular项目的规模一旦变大,待执行的单元测试的数目可能是海量的。此时在开发新的单元测试时,会遇到需要屏蔽到系统里已经非常稳定的测试,而只执行正在开发的新单元测试。这个需求如何实现呢? 每个Angular项目文件夹下都有test.ts, 里面有一行语句,指定了该项目下哪些ts文件里的单元测试会...

2020-09-28 16:30:11 217 0

原创 SAP Spartacus ProductService.get的几个调用场景

Product Carousel的ComponentData通过构造函数注入: 通过查看componentData.data$.operator.project就能知道这个Observable的Operator逻辑: this.getComponentData(uid, currentCon...

2020-09-27 21:33:03 318 0

原创 SAP Spartacus里Product Carousel componentData取数据的逻辑研究

Product Carousel的ComponentData通过构造函数注入: 通过查看componentData.data$.operator.project就能知道这个Observable的Operator逻辑: this.getComponentData(uid, currentCon...

2020-09-27 20:52:26 302 0

原创 SAP Spartacus里cx-carousel的实现

实现源代码: <cx-carousel [items]="items$ | async" [title]="title$ | async" [template]="carouselItem" itemWidth=&q...

2020-09-27 18:46:21 331 0

原创 Angular里使用createEmbeddedView的单步调试

入口:点击按钮: jerryContainer的定义:ViewContainerRef _hostTNode: container_id: _hostView: _lContainer: 需要添加的视图片段: _ngContext_的内容:包含了视图所有的UI元素: 首先创...

2020-09-27 17:15:24 341 0

原创 Angular里使用createEmbeddedView动态加入新的模板元素

html源代码: <div> <ng-template #tpl> <span>鬼子到我想干什么</span> </ng-template> <div #container></div...

2020-09-27 15:16:36 385 0

原创 SAP电商云CCV2 Restful API enablement

感谢我的同事Zheng Kate的大力帮助。 Attachment 是注册用户的下单流程: 里面用了几个环境变量,你需要设置下, 只是红色部分 使用这个json的前提; (1) 在hac里面有mobile_android的client, kevin说你知道怎么导入 (2) 在页面上先去注册一个用...

2020-09-27 14:19:38 356 0

原创 用一个实际例子理解Angular <ng-template>的用法和工作原理

Structural directives are responsible for HTML layout. They shape or reshape the DOM’s structure, typically by adding, removing, or manipulating elem...

2020-09-27 12:56:28 370 0

原创 SAP Spartacus里的product carousel控件的实现cx-product-carousel

实现文件的位置: 这个Component的几个依赖: (1) CmsProductCarouselComponent 最重要的就是这个productCodes字段,由一系列以空格符分隔的product code组成。 这些model的值: (2) Product模型: export int...

2020-09-27 12:35:15 345 0

原创 网友求助,关于function module DB_SQL_WRITE_TO_ITAB

Sent: Tuesday, June 23, 2020 7:30 PM To: Wang, Jerry Subject: Requesting your help for a development object Hi Jerry, Its been so long! Hope you are ...

2020-09-27 11:52:09 255 0

原创 SAP Spartacus里的product carousel控件

cx-page-slot: Section3 Slot里面有cx-product-carousel: cx-product-carousel下面有cx-carousel: 这些carousel里的数据从哪里来的呢? 答案是从Commerce Cloud后台WCMS里来。 url:h...

2020-09-27 11:50:00 249 0

原创 一个风格诡异的ABAP学习网站

网址:https://www.abapzombie.com/ 只是里面的语言好象是南美洲某个国家的语言,除了代码之外的文字都看不懂。

2020-09-27 11:00:07 276 0

提示
确定要删除当前文章?
取消 删除