とある組み込みエンジニアひとりごと

朝活を通じて得たものを紹介していきます

20180426 LPIE編その21 TDDの威力半端ない。

学習内容

f:id:monokuma12:20180426050602p:plain 

・わかったこと
・テスト駆動
Playing a Handに入り、課題のプログラムにテストプログラムがついてくるようになった。

TDDの威力を感じた。テストコードがあるととてもよい。 

>|python

#
# Test code
# You don't need to understand how this test code works (but feel free to look it over!)

# To run these tests, simply run this file (open up in your IDE, then run the file as normal)

def test_getWordScore():
"""
Unit test for getWordScore
"""
failure = False
# dictionary of words and scores
words = {("", 7): 0, ("it", 7): 4, ("was", 7): 18, ("scored", 7): 54, ("waybill", 7): 155, ("outgnaw", 7): 127,
("fork", 7): 44, ("fork", 4): 94}
for (word, n) in words.keys():
score = getWordScore(word, n)
if score != words[(word, n)]:
print("FAILURE: test_getWordScore()")
print("\tExpected", words[(word, n)],
"points but got '" + str(score) + "' for word '" + word + "', n=" + str(n))
failure = True
if not failure:
print("SUCCESS: test_getWordScore()")

||<|

こんな感じにテストコードがあるので、中身を実装すると

NG/OKが出るような仕組み。
OKの場合

f:id:monokuma12:20180426052221p:plain

NGの場合

f:id:monokuma12:20180426052320p:plain

いわゆるテスト駆動開発のスタイルが取り入れられている。効率よいデバッグや作り方を自然と学べるのがよいよね。

テスト駆動って何?ってのは書籍でお勉強ください。

テスト駆動開発

テスト駆動開発

 

  

現在kindle版の書籍が半額! 

・次やらないといけないこと

・テスト駆動に慣れる

・所感

中間テストも無事に終わり、テスト&デバッグの章に入った。
テストコードを簡単に作って、中身を作ることに集中するという開発スタイル。
没頭を中心としたプロセスだなと感じる。

div #breadcrumb div{ display: inline;font-size:13px;}