2020/03/29

[golang]testとerror

golangの埋め込みを使うことで継承っぽいことができるので、それを使ってテストしようと思っていた。
ハードウェアが絡む部分は、mockを作ってやってしまいたいのでね。

が、先にロジックの部分をテストしておいて、その次にmockを作った方が良いことに気付いた。
まあ、いつもそうやって作るので、golangだろうと何だろうと、そうなるだろう。

 

正常系よりも、準正常系や異常系のチェックが大半だろう。
特にハードウェアが絡むと、実機では通常発生しないようなエラーもテストしたいし。

golangでエラーといえば、errors。
errors.New("文字列")でエラーを返していたけど、文字列だけで判定するのは嫌だ。
エラーコードのような一意の値でうまいことやれないだろうか?


何かを参考にしようと検索していたら、こういうのがあった。

https://github.com/ethereum/go-ethereum/blob/ec2131c8d3382db3762909a8e7d225be61bae230/core/error.go

なるほどね、各packageごとにerror.goを用意しておくのね。
Newだからアドレスの比較になるので、時間もかかるまい。

ちょっと嫌なのは、Newするということは動的に作るというところだ。
動的に作るということはRAMに作るということで、RAMを消費してしまうだろう。
まあ、今回は組み込み向けじゃないから、気にしないが。

 

あとは、せっかくなのでGitHub Actionsとかいうものを使ってみたいのだが、まだまだ私には敷居が高いのう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。