我已经建立了一个日历moment.js,我现在正在进行单元测试。
我解决的第一个问题是测试运行时日期将如何变化,因此我已经能够使用此指南锁定时刻。
目前,我陷入了一个错误:
“类型错误:无法读取未定义的属性‘weekdaysShort’”
我的代码有一行: const dateHeaders = moment.weekdaysShort();
通过实现 mocked moment().format(),我基本上失去了库的其余部分。
我的直接问题是如何设置 jest 让我返回您从中获得的数组moment.weekdaysShort();
我更大的问题是我是否走错了路,是否应该想出另一种策略。
我尝试过但结果不成功的事情
weekdayShort函数中手动添加:const mockMoment = function() {
return {format: '2016–12–09T12:34:56+00:00'}
};
mockMoment['weekdaysShort'] = () => ['Sun', 'Mon', 'Tues']; // etc etc etc
jest.mock('moment', () => mockMoment);
Run Code Online (Sandbox Code Playgroud)
__mocks__文件夹中组装手动模拟。我没有走得太远,因为我开始觉得我必须将整个 Moment.js 库复制/粘贴到模拟中。虽然弄清楚他们如何做他们所做的事情会很酷,但这是另一天的项目。jest.spyOn - 不起作用,因为我没有监视模块。在这一点上,我正在考虑放弃Moment通过 props 传入的数组的函数。虽然我相信这会让我克服这个问题,但感觉之后我会很快遇到另一个障碍。
在此先感谢您的帮助。
我有一堆JSON对象从服务器返回,我试图在我的目标C中将它们标准化一点.
我有这个枚举:
//VP_STATUS
typedef enum {
VP_STATUS_NA,
VP_STATUS_STEXP,
...
VP_STATUS_COUNT
} VP_STATUS;
Run Code Online (Sandbox Code Playgroud)
我有一个函数将JSON对象(这是一个NSMutableDictionary)中的字符串映射到此枚举,然后我尝试在NSMUtableDictionary上设置一个键"status",如下所示:
VP_STATUS status = [myStringToEnumMappingFunction:[p objectForKey:@"status_label"]];
[p setValue:status forKey:@"status"];
Run Code Online (Sandbox Code Playgroud)
但是,在setValue:forKey行上我收到此错误:
"Implicit conversion of VP_STATUS to id is disallowed with ARC"
Run Code Online (Sandbox Code Playgroud)
我首先必须将状态转换为其他内容吗?如果是这样,那么那种使用定义为VP_STATUS的消息的目的就失败了,不是吗?
我对Objective-c相当新,所以我可能会对我所知道的完全错误,并且愿意接受建议.
npm让我感到悲伤,我不知道为什么。试图发布我的包的新版本。
npm view {{package}} versions
[ '0.3.0',
'0.3.1',
'0.4.0',
'0.4.2',
'0.5.0',
'0.6.0',
'0.6.1',
'0.7.0',
'0.7.1',
'0.8.0',
'0.8.1',
'0.8.2',
'0.8.3',
'0.8.4',
'0.8.5' ]
Run Code Online (Sandbox Code Playgroud)
当我跑步时,npm publish我得到了这个:
400 Bad Request - PUT https://registry.npmjs.org/{{package}} - Cannot publish over previously published version "1.0.0".
Run Code Online (Sandbox Code Playgroud)
这是我当前的 package.json:
...
"version": "1.0.0",
...
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
编辑:
此外,即使当我尝试修补版本并发布 1.0.1 或 1.0.2 时,我也会收到相同的消息......
所以我有这个:
animations: [
trigger('shake', [transition('* => *', /* some animation */)])
]
Run Code Online (Sandbox Code Playgroud)
和
<app-button
[@shake]="shake"
>
</app-button>
Run Code Online (Sandbox Code Playgroud)
当我单击它时,我设置shake为 true。当我再次单击它时,我希望按钮再次摇晃,但它不会,因为摇晃已经是真的。
我该如何解决这个问题?
Angular 新手,谢谢!
我的 shell-fu 处于初级以下水平。我有一个文件,其中包含一些恰好是环境变量名称的行。
例如
ENV_VAR_A
ENV_VAR_B
...
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用此文件生成一个 JSON 字符串,其中包含使用 jq 的命名变量的名称和当前值,如下所示:
jq -n --arg arg1 "$ENV_VAR_A" --arg arg2 "$ENV_VAR_B" '{ENV_VAR_A:$arg1,ENV_VAR_B:$arg2}'
# if ENV_VAR_A=one and ENV_VAR_B=two then the preceding command would output
# {"ENV_VAR_A":"one","ENV_VAR_B":"two"}
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过 shell 脚本创建 jq 命令,但我不知道我在做什么:(
angular ×1
bash ×1
javascript ×1
jestjs ×1
jq ×1
momentjs ×1
npm ×1
npm-publish ×1
objective-c ×1
reactjs ×1
shell ×1
unit-testing ×1