情報源
やってみる
index.html
<script> function add(a, b) { return a + b; } // unit test console.assert(1 === add(0, 0)); </script>
ブラウザでindex.htmlファイルを開き、Ctrl
+Shift
+I
で開発者ツールを開き、コンソールタブを表示すると、以下のようなエラー表示が出る。
Assertion failed: console.assert index.html:6
この場合、テストコードのほうがまちがっているので、テストを修正する。
console.assert(0 === add(0, 0));
F5
キーで更新し再実行すると、エラーが消える。テストクリア。
ファイルを分けたい
- index.html
- main.js
- add.js
- test-add.js
index.html
<script type="module" src="main.js"></script>
main.js
import {add} from './add.js'; import {testAdd} from './test-add.js'; window.addEventListener('load', (event) => { console.log(add(1, 2)); testAdd(); });
add.js
export function add(a, b) { return a + b; }
test-add.js
import {add} from './add.js'; export function testAdd() { console.assert(1 === add(0, 0)); }
実行する。ブラウザでindex.htmlファイルを開き、Ctrl
+Shift
+I
で開発者ツールを開き、コンソールタブを表示すると、以下のようなエラー表示が出る。
3 main.js:5
Assertion failed: console.assert test-add.js:3
一気に面倒くさくなった。import
とかexport
なんて書きたくない。
所感
テストは一応できたが、課題が多すぎる。本番環境からはテストコードを排除したいし、エラーメッセージやテスト件数の表示なども整えたい。それらを考えると、とても実装が面倒くさい。だからテスト用フレームワークを使いたくなる。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.10.63-v7l+ #1496 SMP Wed Dec 1 15:58:56 GMT 2021 armv7l GNU/Linux