当前位置: 首页 Cocos Creator

消除游戏之单元测试

时间:2023年05月14日 阅读:883
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

在 TypeScript 开发中,需要为开发的模块编写单元测试,参考使用 jest 这个框架。

npm install -D jest ts-jest @types/jest
npm install -D jest-canvas-mock
npm install typescript

配置jest

package.json

{
  "name": "cocos creator",
  "version": "1.0.0",
  "description": "使用cocos creator 编写的三消游戏。",
  "scripts": {
    "test-single": "npx jest --silent --verbose",
    "test-all": "npx jest --silent --coverage"
  },
  "jest": {
    "testEnvironment": "node"
  },
  "dependencies": {
    "jest-canvas-mock": "^2.3.0",
    "typescript": "^4.0.3"
  },
  "devDependencies": {
    "@types/jest": "^26.0.15",
    "jest": "^26.6.0",
    "ts-jest": "^26.4.1"
  }
}

编写 test 用例

jest.config.js

module.exports = {
    roots: [
        "<rootDir>/test"
    ],
    preset: "ts-jest",
    setupFiles: ["jest-canvas-mock",],
    collectCoverageFrom: ["assets/script/ui/match3/core/**/*.ts"],
};

编写单元测试代码

import { EMRandom } from "../assets/script/ui/match3/core/EMRandom";

const random = new EMRandom(123);

describe("test EMRandom" , () => {
    test('#nextInt', () => {
        expect(random.nextInt(6)).toBe(3);
    });
    test('#next', () => {
        expect(random.next(6)).toBe(8);
    });
});

执行 npm run test-single 即可运行测试用例。

执行 npm run test-all 即可运行测试覆盖率报告。

VSCode 调试

我们如果在 VSCode 环境下,需要调试用例,则可以进行如下配置,在 .vscode/launch.json 文件中:

{
    "version": "1.4.0",
    "configurations": [
        {
            "name": "Creator Debug: Launch Chrome",
            "type": "chrome",
            "request": "launch",
            "url": "http://localhost:7456",
            "sourceMaps": true,
            "userDataDir": "${workspaceFolder}/.vscode/chrome",
            "diagnosticLogging": false,
            "pathMapping": {
                "/preview-scripts/assets": "${workspaceFolder}/temp/quick-scripts/dst/assets",
                "/": "${workspaceFolder}"
            }    
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Jest Coverage",
            "program": "${workspaceFolder}/node_modules/.bin/jest",
            "args": ["--silent","--coverage"],
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "disableOptimisticBPs": true,
            "windows": {
              "program": "${workspaceFolder}/node_modules/jest/bin/jest",
            }
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Jest Verbose",
            "program": "${workspaceFolder}/node_modules/.bin/jest",
            "args": ["--silent","--verbose"],
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen",
            "disableOptimisticBPs": true,
            "windows": {
              "program": "${workspaceFolder}/node_modules/jest/bin/jest",
            }
        },
    ]
}

消除游戏之单元测试 - MOMO教程

打赏

本文地址:https://www.momojc.cn/cocos/xiaochuyou367.html

相关推荐
支付宝领大额红包
支付宝领大额红包
似水流年
    今日已经过去小时
    这周已经过去
    本月已经过去
    今年已经过去个月
小姐姐视频

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.024 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计