UnitTest

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

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

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

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

RSpecよりMiniTestの方が好きだと思ったのはなんでか考えてみた

最近、社内でモブプロの交流会等で、RSpecとMiniTest両方を触る機会があった。 どちらもガッツリ触ったわけではないのだけれど、直感的にMiniTestの方が好きだなぁと感じて、なんでかなぁって考えてみた。 RSpecはこんな感じ。 RSpec.describe Order do it "…

SpockでオーバーロードされたメソッドをMockする #spock #groovy

JavaでオーバーロードされたメソッドをMockしようとしても、うまくMockできないことがある。 どちらのメソッドを呼べばいいかわからないからだと思う。(たぶん) 下記のようなメソッドをMockしたい場合の対応。 public String doSomething(String arg1) pub…

Mockitoでvoidメソッドをゴニョゴニョする

doAnswer を使うと、Mockのvoidメソッドの中でゴニョゴニョできる。 全然違うことで悩んでいて見つけた方法なので、使い所はよくわからない(笑) けど、メモとして残しておく。 以下はSpockで書いた場合で、メソッドの呼ばれた回数を集計してる。 (実際に回…