SlideShare a Scribd company logo
Spock’s World
JJUG CCC 2012 Fall R3-1
株式会社デライトテクノロジーズ 綿引琢磨
本スライドの対象

普段 Eclipse を使っている Java デベロッパー全般

JUnit を使っているが、もうちょっとスマートに
テストを書きたいと思っている人

テストのないプロジェクトで困っている
マネージャー・リーダー
自己紹介

綿引琢磨(わたびきたくま)

twitter : bikisuke
株式会社デライトテクノロジーズ 代表取締役

日本 Grails / Groovy ユーザーグループ運営委員

Java / Groovy エンジニア
アジェンダ

JUnit から Spock へ

Spock の基礎

Spock についてのよくある誤解

Spock の機能拡張
JUnit から Spock へ
Spock's world
Spock's world
JUnit を積極的に使いたい理由

テストの自動化ができる

Eclipse に標準装備

プロダクトコードと同じ Java で書ける

書籍や Web など情報が豊富

etc.
JUnit の物足りないところ

モックの仕組みがない
(モックフレームワークが別途必要)

パラメタライズドテストが残念

 パラメータの配列を・・・

 どのパラメータがエラーかわからない
 (ひと工夫いる)
そこで Spock ですよ
class HelloSpock extends spock.lang.Specification {
  def "length of Spock's and his friends' names"() {
    expect:
    name.size() == length

        where:
        name       |   length
        "Spock"    |   5
        "Kirk"     |   4
        "Scotty"   |   6
    }
}
Spock とは
Groovy 上に構築されたテストフレームワーク

 Groovy の機能を活用し、DSL によるシンプルで
 可読性の高いテストコードを実現

強力な Assert 機能でエラー箇所の特定が容易

JUnit 互換のため IDE からも実行可能

開発者向けの仕様テストとして、BDD も実践可能
JUnit との比較
               JUnit   Spock
  記述言語         Java    Groovy
テストの自動化         ◎        ◎
Eclipse 標準装備    ◎        △
  技術情報          ◎        △
モックの仕組み         △        ◎
パラメタライズド        △        ◎
 仕様テスト          ×        ◎
Spock の基礎
Eclipse での環境整備
Eclipse-Groovy プラグインのインストール

 http://groovy.codehaus.org/Eclipse+Plugin
Eclipse の設定

 「use monospace font for junit」 にチェック

Groovy プロジェクトへの変換

 [Configure] > [Convert to Groovy Project]
ライブラリの追加
テストクラスの構造
                           org.junit.runner.Runner
 @RunWith(Sputnik.class)
                                    を継承
     Specification




       HelloSpec

 フィクスチャメソッド()
  フィーチャメソッド()
   ヘルパーメソッド()
処理の流れ




テスト   字句解析           コード   バイト   テスト
             AST変換
コード   構文解析           生成    コード   実行
処理の流れ
             • DSL の解析
             • モック/例外実装の追加
             • メタ情報の追加
             • モデルの構築



テスト   字句解析            コード    バイト   テスト
              AST変換
コード   構文解析            生成     コード   実行
フィクスチャメソッド
setup()
  各フィーチャメソッドの実行前に呼ばれる。

cleanup()
  各フィーチャメソッドの実行後に呼ばれる。

setupSpec()
  最初のフィーチャメソッドの実行前に呼ばれる。

cleanupSpec()
  最後のフィーチャメソッドの実行後に呼ばれる。
フィーチャメソッド

テストメソッドを指す

JUnit の場合、@Test を付けるメソッドに当る

メソッド名は文字列で表現するのが習慣

最低1つのブロックを含んでいる必要がある
ブロック
ブロック名           フェーズ                  概要
                             フィーチャの設定作業(前提条件)を記述す
setup / given     Setup
                             る。先頭に記述する必要がある。
                             テスト対象の振る舞いを記述する。then
   when         Stimulus
                             ブロックとセットで使用する必要がある。
                             when ブロックに対する条件、例外条件、
    then        Response
                             インタラクションを記述する。
                Stimulus /   条件を記述する。then ブロックよりも記述
   expect       Response     制限がある。
                             フィーチャ内でのリソースの解放作業を記述
  cleanup       Cleanup
                             する。
                             データドリブンテストの場合に記述する。
   where            -
                             フィーチャの最後に記述する必要がある。
データドリブンテスト

Spock を使用するメリットの一つ

 パラメタライズドテストをスマートに記述

 データはテーブル書式またはコレクションで表現

 Assert 機能により、エラー箇所が明確にわかる
例外に関するテスト

以下の4メソッドで検証可能

<T extends Throwable> T thrown()
<T extends Throwable> T thrown(Class<T> type)
void notThrown (<T extends Throwable> type)
void noExceptionThrown()
テストダブル (Mock/Stub/Spy)

インタラクションの代役を生成

 Java / Groovy オブジェクト用の API

 任意の代役を表現するワイルドカードも使える

Stub の振る舞い

 http://yamkazu.hatenablog.com/entry/2012/10/20/222558



                    テストダブルの詳細 http://xunitpatterns.com/Test%20Double%20Patterns.html
Spock についての
よくある誤解
テストを Spock (Groovy) で
書くと、リファクタリング
できないんじゃないの?
普通にできます。
Groovy の PowerAssert で
いいんじゃないの?
PowerAssert と
同じではありません。
JUnit の Rule アノテーション
を活用してるから、Spock
に移行できません。
Rule アノテーションも
そのまま使えます。
Spock の機能拡張
2つの拡張方法

グローバル拡張

実行コンテキストの構築時に対象のテストに
対して適用される

アノテーションドリブン拡張

クラスやメソッド、フィールド単位で
テスト実行時に適用される
拡張処理の流れ




テスト   字句解析           コード   バイト   テスト
             AST変換
コード   構文解析           生成    コード   実行
拡張処理の流れ

                     •実行コンテキストの構築
                     •グローバル拡張の適用



テスト   字句解析           コード     バイト    テスト
             AST変換
コード   構文解析           生成      コード    実行
拡張処理の流れ
                           • アノテーション
                            ドリブン拡張の適用



                     •実行コンテキストの構築
                     •グローバル拡張の適用



テスト   字句解析           コード     バイト       テスト
             AST変換
コード   構文解析           生成      コード       実行
グローバル拡張
JUnit アダプタ
 JUnitFixtureMethodsExtension
JUnit Rules 適用
 RuleExtension / ClassRuleExtension
テスト実行可否
 IncludeExculdeExtension
テスト最適化
 OptimizeRunOrderExtension
アノテーションドリブン拡張

@AutoCleanup
@FailsWith
@Ignore / @IgnoreIf / @IgnoreRest
@Stepwise
@Timeout
@Unroll
@Use
Spock 関連情報

ソースリポジトリ

 https://github.com/spockframework/spock
ドキュメント

 http://docs.spockframework.org/en/latest/
Wiki (上記ドキュメントに移行予定)

 http://code.google.com/p/spock/w/list
日本での情報
G* ワークショップ

 隔月程度のペースで都内を中心に開催

G* Magazine
 年に数回発刊している日本語で読める唯一の
 Groovy 関連電子雑誌

 PDF : http://grails.jp/g_mag_jp/index.html
 EPUB : http://beta.mybetabook.com/u/jggug/
ご清聴ありがとうございました
Spock’s World
JJUG CCC 2012 Fall R3-1
株式会社デライトテクノロジーズ 綿引琢磨

More Related Content

What's hot (18)

第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
 
Test Plugins
Test PluginsTest Plugins
Test Plugins
ykhr
 
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase ClassxUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
Takuto Wada
 
初めての単体テスト
初めての単体テスト初めての単体テスト
初めての単体テスト
Basuke Suzuki
 
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
Yusuke Ando
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
Akka Unit Testing
Akka Unit TestingAkka Unit Testing
Akka Unit Testing
Masashi (Jangsa) Kawaguchi
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Atsushi Odagiri
 
C++でテスト駆動開発
C++でテスト駆動開発C++でテスト駆動開発
C++でテスト駆動開発
Akineko Shimizu
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
テストを書こう、Unity編
テストを書こう、Unity編テストを書こう、Unity編
テストを書こう、Unity編
Hiroto Imoto
 
Beyond JUnit3
Beyond JUnit3Beyond JUnit3
Beyond JUnit3
Koichi Sakata
 
PHP agile test tips
PHP agile test tipsPHP agile test tips
PHP agile test tips
Tsutomu Chikuba
 
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めようPHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
 
gen-class とバイトコード(第3回 gen-class 勉強会資料)
gen-class とバイトコード(第3回 gen-class 勉強会資料)gen-class とバイトコード(第3回 gen-class 勉強会資料)
gen-class とバイトコード(第3回 gen-class 勉強会資料)
tnoda
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
urasandesu
 
Unowned / Weak References with Closure
Unowned / Weak References with ClosureUnowned / Weak References with Closure
Unowned / Weak References with Closure
Naruki Chigira
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
 
Test Plugins
Test PluginsTest Plugins
Test Plugins
ykhr
 
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase ClassxUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
Takuto Wada
 
初めての単体テスト
初めての単体テスト初めての単体テスト
初めての単体テスト
Basuke Suzuki
 
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
Yusuke Ando
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Atsushi Odagiri
 
C++でテスト駆動開発
C++でテスト駆動開発C++でテスト駆動開発
C++でテスト駆動開発
Akineko Shimizu
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
テストを書こう、Unity編
テストを書こう、Unity編テストを書こう、Unity編
テストを書こう、Unity編
Hiroto Imoto
 
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めようPHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
 
gen-class とバイトコード(第3回 gen-class 勉強会資料)
gen-class とバイトコード(第3回 gen-class 勉強会資料)gen-class とバイトコード(第3回 gen-class 勉強会資料)
gen-class とバイトコード(第3回 gen-class 勉強会資料)
tnoda
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
urasandesu
 
Unowned / Weak References with Closure
Unowned / Weak References with ClosureUnowned / Weak References with Closure
Unowned / Weak References with Closure
Naruki Chigira
 

Viewers also liked (15)

G*Magazineを読もう
G*Magazineを読もうG*Magazineを読もう
G*Magazineを読もう
Takuma Watabiki
 
Gws in fukuoka
Gws in fukuokaGws in fukuoka
Gws in fukuoka
Takuma Watabiki
 
JGGUG Community LT 2016
JGGUG Community LT 2016JGGUG Community LT 2016
JGGUG Community LT 2016
Takuma Watabiki
 
スーパー戦隊進化論
スーパー戦隊進化論スーパー戦隊進化論
スーパー戦隊進化論
Takuma Watabiki
 
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basicJjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
 
Gradleどうでしょう
GradleどうでしょうGradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
 
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIIIG*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Takuma Watabiki
 
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
 
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LTDevsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
Takuma Watabiki
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
 
Closures and methodMissing are real
Closures and methodMissing are realClosures and methodMissing are real
Closures and methodMissing are real
Takahiro Sugiura
 
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャテスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
 
スーパー戦隊進化論
スーパー戦隊進化論スーパー戦隊進化論
スーパー戦隊進化論
Takuma Watabiki
 
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basicJjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
 
Gradleどうでしょう
GradleどうでしょうGradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
 
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIIIG*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Takuma Watabiki
 
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
Shuji Watanabe
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
 
Closures and methodMissing are real
Closures and methodMissing are realClosures and methodMissing are real
Closures and methodMissing are real
Takahiro Sugiura
 
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャテスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
 

Similar to Spock's world (20)

Introduction to Spock
Introduction to SpockIntroduction to Spock
Introduction to Spock
Takahiro Sugiura
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
 
最近の単体テスト
最近の単体テスト最近の単体テスト
最近の単体テスト
Ken Morishita
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
terahide
 
Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*
irof N
 
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Taku Miyakawa
 
第5回勉強会
第5回勉強会第5回勉強会
第5回勉強会
Mugen Fujii
 
エクストリームエンジニア4
エクストリームエンジニア4エクストリームエンジニア4
エクストリームエンジニア4
T-arts
 
ソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テストソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テスト
Toru Tamaki
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
 
世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ
Yukei Wachi
 
Unit test in android
Unit test in androidUnit test in android
Unit test in android
Tatsuya Maki
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
 
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
 
Ruby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::UnitRuby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::Unit
higaki
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
 
最近の単体テスト
最近の単体テスト最近の単体テスト
最近の単体テスト
Ken Morishita
 
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
terahide
 
Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*
irof N
 
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Taku Miyakawa
 
第5回勉強会
第5回勉強会第5回勉強会
第5回勉強会
Mugen Fujii
 
エクストリームエンジニア4
エクストリームエンジニア4エクストリームエンジニア4
エクストリームエンジニア4
T-arts
 
ソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テストソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テスト
Toru Tamaki
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
Yasuharu Nakano
 
世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ
Yukei Wachi
 
Unit test in android
Unit test in androidUnit test in android
Unit test in android
Tatsuya Maki
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
 
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
 
Ruby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::UnitRuby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::Unit
higaki
 

Recently uploaded (6)

つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
 
20250525_IoTLT_vol123_kitazaki_v1___.pdf
20250525_IoTLT_vol123_kitazaki_v1___.pdf20250525_IoTLT_vol123_kitazaki_v1___.pdf
20250525_IoTLT_vol123_kitazaki_v1___.pdf
Ayachika Kitazaki
 
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
Matsushita Laboratory
 
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptxSecurity-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
TsukasaKomatsubara
 
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
Matsushita Laboratory
 
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
ChikakoInami1
 
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
 
20250525_IoTLT_vol123_kitazaki_v1___.pdf
20250525_IoTLT_vol123_kitazaki_v1___.pdf20250525_IoTLT_vol123_kitazaki_v1___.pdf
20250525_IoTLT_vol123_kitazaki_v1___.pdf
Ayachika Kitazaki
 
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
Matsushita Laboratory
 
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptxSecurity-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
TsukasaKomatsubara
 
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
Matsushita Laboratory
 
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
【JIMUC】2025新春セミナー_先進IT運用管理分科会_Connpass_配布用.pdf
ChikakoInami1
 

Spock's world