本文原创发布在华为开发者社区。
介绍
本示例将介绍如何使用@kit.TestKit编写单元测试脚本,实现单元测试与UI测试。
效果预览
使用说明
实现思路
使用describe定义一个测试套,it定义一条测试用例,expect支持bool类型判断等多种断言方法。
//Promise回调示例 describe('Promise_Done', () => { it('Promise_Done', 0, (done: Function) => { method_1().then((result: string) => { try { expect(result).assertEqual('method_1_call'); } catch (e) { } finally { // 调用done函数,用例执行完成,必须手动调用done函数,否则出现超时错误。 done() } }) }) })
断言功能列表、异步代码测试、hamock/hypium插件包的mock接口与import mock。
describe('expectTest', () => { it('assertBeClose_success', 0, () => { let a: number = 100; let b: number = 0.1; expect(a).assertClose(99, b); }) it('assertInstanceOf_success', 0, () => { let a: string = 'strTest'; expect(a).assertInstanceOf('String'); }) it('assertNaN_success', 0, () => { expect(Number.NaN).assertNaN(); // true }) it('assertNegUnlimited_success', 0, () => { expect(Number.NEGATIVE_INFINITY).assertNegUnlimited(); // true }) ...... })
使用Driver、On、Component进行UI测试。
let driver: Driver = Driver.create(); //验证Text1前是否有按钮 const button = await driver.findComponent(ON.text('Text1')); expect(button !== null).assertTrue(); //click button await button.click(); //验证是否有Text1 await driver.delayMs(1000); await driver.pressBack(); ......
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。