やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ContentTypeクラスとその詳細をクラス化し単体テストした

./web/http/Response.pyを分解して複数クラス化。前回までと今回で./web/http/Response.pyをごっそり作り替えた上で単体テストした。

成果物

GitHubGitHub.Uploader.ContentType.201705040739

GitHubGitHub.Uploader.ContentType.201705020847__old

開発環境

前回まで

構造

  • ContentType
    • Parameters
    • MimeType
      • TopLevelType
      • SubType
        • MediaType
        • Suffix
        • Facet
        • Tree
          • VenderTree
            • VenderName
            • GitHubVenderTree
              • Version
              • Parameter
          • ParsonalTree
          • UnregisteredTree
          • StandardTree

気に食わない点

  • staticなpropertyが作れない
    • 仕方なく@staticmethodで妥協している
      • ググったが見つからず
    • そもそももっとスマートな作りにできるような気もするが思いつかず

課題

  • テスト項目の洗い出しはこれでいいのか不明
    • どういう観点で、どれだけ洗い出せたのか

所感

クラス数が多いせいか実装と単体テストに苦労した。しかし一つずつ確認し、問題を潰しながら進めていけるのでモヤモヤ感が残りにくく気持ちいい。