当业务逻辑依赖系统当前时间的时候,如何为这部分逻辑编写单元测试?当代码中使用了 setTimeout
或者 setInterval
,应该怎么去验证在一定时间后指定的代码是否会运行?当你使用了 AnimationPlayer
的动画完成时回调,你又该如何在单元测试中正确的断言这一行为?如果你面对这些问题感到一头雾水、不知所措,那么就接着读下去吧。
众所周知,JS 的语言特性总是更新得比解释器要快,为了在 Node.js 中能够导入 esm 格式的模块,我们需要使用一些奇怪的手段,例如,hook require
函数,甚至我们可以使用 webpack 这样的打包工具。经过一番体验过后,我的选择是……
在 Chrome 开发者工具中,可以使用 Network 工具下的 Offline throtting 来模拟离线的状态,这对测试网页在离线状态下的工作情况非常有帮助,但是 Firefox 却没有这样的功能 反倒是提供了一堆几乎用不上的低网速模拟选项 。
Moq.AutoMocker 是一款基于 Moq 实现的 IoC 容器,它可以用来全自动的使用 Moq 来创建待测试的服务的依赖。
当我对 Linux 的印象似乎还停留在黑乎乎的命令行界面上的时候,我身边的一些朋友告诉我或者建议我使用 Linux 时,我会一脸惊讶的问他,那个怎么用(来开发或者日常使用)?
Linux 的影分身之术
rebase
也算是我比较常用的一个指令了,但是很长时间以来,对这个指令的认识还是不够深刻,于是就找了个时间认真地读了一下 git rebase 的文档。
可控函数(Controllable Function),是指那种可以通过改变函数的参数或者简单的修改函数在执行过程中的外部依赖的而产生确定结果的一类函数,这是我根据纯函数的概念推广出来的一个新的名词(大概是新的吧?)。
最近在家里经常遇到 ssh 超时的问题,一开始也没太当回事,感觉是网络不稳定导致的,但是后来慢慢的发现这种超时问题只会出现在跟 ssh 相关的程序中,例如 git、ssh。这成功的引起了我的注意,于是我开始尝试着去排查。
我决定了自己来撸一个 SQL 构建器,看起来应该也不是什么困难的事 Flag。
人生有很多第一次,比如写出来的第一个 pre-commit hook
如何让 DarkTable 的界面显示简体中文。
Safari 浏览器并不能手动强制刷新缓存
最近一直在折腾公司给配的 MacBook Pro 2015 款,费了很大的劲终于装好了我心爱的 Manjaro,在这里稍微记录一下安装要点。
1月24日,随着 Visual Studio 2019 一同发布的还有 F# 4.6,更新虽小,但惊喜很大
尽管 F# 不允许使用 Record 类型表达 null 的含义,但在运行时 Record 仍然可能为 null,如何处理这样的问题?
在一个不可变的世界中订阅变化
ControlValueAccessor
接口是 Angular Forms API 与 DOM 之间的桥梁,通过提供不同的 ControlValueAccessor
,我们就可以使用统一的 Angular Forms API 来操作不同的 HTML 表单元素。
最近我发现越来越多的人推荐使用 JWT 来在 Web 应用中管理会话(Session),这是一个非常非常糟糕的主意,在这篇文章中我会详细地解释为什么“不要使用 JWT 进行会话管理”。
使用 LINQ 来对 IEnumerable<T>
之外的 Monad 进行运算。
本网站所展示的文章由 Zeeko Zhu 采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可
Zeeko's blog, Powered by ASP.NET Core 🐳