reactjs - 如何为 React js 中的函数编写单元测试?
问题描述
我的 App.js 文件中有一个函数,如下所示。
function unCamelCase(val) {
return val.replace(/([a-z])([A-Z])/g, '$1 $2')
.replace(/\b([A-Z]+)([A-Z])([a-z])/, '$1 $2$3')
.replace(/^./, function(str){ return str.toUpperCase(); })
}
如何为上述功能编写单元测试。
提前致谢。
解决方案
你听说过杰斯特吗?我相信 Facebook 用它来测试他们所有的 JavaScript 代码。在我的一个项目中,我在很小的程度上使用了它。如果您有兴趣,此页面将解释如何设置它。
https://jestjs.io/docs/en/getting-started.html
示例实现(unCamelCase.js 在测试文件夹之外,而 test_unCamelCase.js 在里面):
// test_unCamelCase.js
const unCamelCase = require('../unCamelCase');
test("test unCamelCase", () => {
expect(unCamelCase("camelCase")).toBe("Camel Case")
expect(unCamelCase("moreThanTwoWords")).toBe("More Than Two Words")
expect(unCamelCase("symb0lsAndNumber$")).toBe("Symb0ls And Number$")
})
// unCamelCase.js
function unCamelCase(val) {
return val.replace(/([a-z])([A-Z])/g, '$1 $2')
.replace(/\b([A-Z]+)([A-Z])([a-z])/, '$1 $2$3')
.replace(/^./, function(str){ return str.toUpperCase(); })
}
module.exports = unCamelCase
推荐阅读
- android - 在 Android 上编译 C++ 程序:未定义的函数断言
- r - 如何用数值绘制分类数据
- python - 在 python 3.7 上使用谷歌云 ml gpu
- python - 如何镶嵌这个形状?
- mysql - 如何使用mysql和node js express web api创建分页注意:我不使用orm
- python - Python+Odbc:当我输入通配符如“%”时,我的查询不起作用
- javascript - 从对象数组中为对象的道具添加值
- mongodb - AWS Lambda 和 mongo 中的任务超时错误
- clair - 在 POST /v1/layers 请求时使用 clair,得到 400 响应错误:'找不到图层'
- django - 如何覆盖 django 注册视图类