コツコツ将棋盤を作ってます。
使用技術
- Vue.js3
- Vite
- SCSS
公開ページ
https://nek0meshi.github.io/shogi-board/
今回は、vueファイルのテストコードを書いてみます。
ライブラリの導入
前回の記事で導入済みです。
(@types/jest, ts-jest, typescript)
テストコードの記述
import { Piece, PieceType } from '../src/pieces' describe('pieces.ts', () => { it('駒の生成1', () => { const piece = new Piece('king', true, 5, 1) expect(piece.id).toBe(1) expect(piece.type).toBe('king') expect(piece.isFirst).toBe(true) expect(piece.column).toBe(5) expect(piece.row).toBe(1) expect(piece.name).toBe('玉') expect(piece.movableList).toEqual([ [-1, -1], [0, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1], ]) expect(piece.canPromote).toBe(false) }) it('駒の生成2', () => { const piece = new Piece('king', false, 4, 4) expect(piece.id).toBe(2) expect(piece.type).toBe('king') expect(piece.isFirst).toBe(false) expect(piece.column).toBe(4) expect(piece.row).toBe(4) expect(piece.name).toBe('王') expect(piece.movableList).toEqual([ [-1, -1], [0, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1], ]) expect(piece.canPromote).toBe(false) }) })
toBeはプリミティブ型に対してしか使えず、配列に対してはtoEqualを使う必要があります。
Pull Request
https://github.com/nek0meshi/shogi-board/pull/23
まとめ
テストコードの記述を進めています。
TypeScriptで型もあり、テストコードもあり、となるとだいぶ安心感がありますね。