2018-03-01から1ヶ月間の記事一覧

kotlin-testで例外のテスト #Kotlin

概要 KotlinのUnitTestはSpekで書いており、Assertion Frameworkはkotlin-testを使ってる。 kotlin-testで例外発生のテストをAssertする。 例外の発生をテストする assertFailsを使えばOK assertFails { someMethod(invalidArg) } 発生した例外の型をテスト…

PostgreSQLを使ったユニットテストをするときに、外部キーを一時的に無効化する

概要 RDBを使ったユニットテストをするときに、前提条件となるテストデータを用意することがある。 しかし外部キーの制約上、テストしたいことと直接関係ないデータの作成が必要になる状況が発生する。 例えば、テーブルが「親-子-孫」という階層になってい…

「Real World HTTP」を読んだ

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術作者:渋川 よしき発売日: 2017/06/14メディア: 単行本(ソフトカバー) 一応Webエンジニアとして働いているが、実務ではあまり直接的に扱うことの少ないHTTPに関連する話を幅広く、歴史を交え…

データベースのPRIMARY KEYを自動採番せずにアプリケーション側で生成する

データベースの自動採番 データベースにはPRIMARY KEY(要はID)を自動採番で生成してくれる機能を提供していることが多い。 MySQLのAuto Increment PostgreSQLのSerial OracleのSequence etc サロゲートキーのような、特に意味のないデータのIDを発行するとき…

MyBatisのuseGeneratedKeysがPostgreSQL10でエラー #MyBatis

MyBatisにはRDBが自動採番したIDを取得する機能があるのだが、下記の組み合わせでエラーになってしまった。 MyBatis:3.4.6 PostgreSQL:10.3 ### Error updating database. Cause: org.postgresql.util.PSQLException: 自動生成キーの戻りは 8.2 以上でサポー…

PostgreSQLのDocker公式イメージを使って開発用DBを構築する #PostgreSQL

前提 Docker for Mac使用 クライアントにpostgresqlを導入済み ホスト側からpsql等で接続するため コンテナの起動 イメージは postgres:10 コンテナ名は dev-postgres パスワードは postgres ポートは 15432 (コンテナの5432番にフォワードする) $ docker ru…