Kotlin Springboot -- 파트 10 API E2E を作る

14601 단어 e2etestingspringbootca

계량기



geージで作成すると、Springboot 関係なく、Kotlin のtest用のアプリケーーションが作れるらしい?

https://tech.toreta.in/entry/2020/12/15/110722

토레타 の記事を参考にする

https://docs.gauge.org/getting_started/installing-gauge.html?os=linux&language=csharp&ide=vscode

公式 doc をみると、IntelliJ より VScode 推奨らしい?


인스톨



https://docs.gauge.org/getting_started/installing-gauge.html?os=linux&language=java&ide=vscode#installation-instructions-1

curl -SsL https://downloads.gauge.org/stable | sh



 gauge -v
Gauge version: 1.4.3
Commit Hash: f98dd40


curl 로 인스톨로 되었어요


헤르프




 gauge
Usage:
  gauge <command> [flags] [args]

Examples:
  gauge run specs/
  gauge run --parallel specs/


guage run specs で指定した場所のスペックファイルが実行できるらしい.

実際は mvn test で実行します.


게이지 の Kotlin 프로젝트 を作成する



https://yuya-hirooka.hatenablog.com/entry/2021/07/10/220438

유유아히로오카 さんの記事を参考にする

~/source/gauge-kotlin
 gauge init java_maven
Initializing template from https://github.com/getgauge/template-java-maven/releases/latest/download/java_maven.zip
.
Copying Gauge template java_maven to current directory ...
Successfully initialized the project. Run specifications with "mvn clean test" in project root.


gauge init java_maven에서 maven_java로 프로제크트를 생성했습니다.


프로제크트를 시작하다





IntelliJ를 사용하려면
  • specs/에 Spec 파일의 산풀의 example.spec
  • env/default/に設定ファイルのサンプルの default.properties
  • src/test/java/에 Spec의 StepImplementation.java

  • これらがset アップされているのを確認できる.


    Kotlin も書けるようにする



    https://yuya-hirooka.hatenablog.com/entry/2021/07/10/220438

        <dependencies>
            <dependency>
                <groupId>com.thoughtworks.gauge</groupId>
                <artifactId>gauge-java</artifactId>
                <version>0.7.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>3.17.2</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    


    pom.xml
  • 게이지-자바
  • assertj-core

  • これらのみが入っているので、記事を参考にして

            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib</artifactId>
                <version>${kotlin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-test</artifactId>
                <version>${kotlin.version}</version>
                <scope>test</scope>
            </dependency>
    


    現在のProjectionで有効な Kotlin を入れるようだ



    아니면, ${kotlin_version} 에서 사용하지 마세요.

    https://stackoverflow.com/a/51559900

    메이븐 코만드로바죤を入れられるらしい?

    https://qiita.com/megmogmog1965/items/36f3d778c0397b27b45e#properties

    先にpropatiを指定していれば動くらしい?
    しかし あれにははいってない、要確認

        <properties>
            <kotlin.version>1.3.70</kotlin.version>
        </properties>
    


    追加



    maven reload로 시작했습니다.


    Kotlin Maven 플러그인 を入れる



    これがないとビルドで きないと推測

    빌드/플러그인 에

                <plugin>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-plugin</artifactId>
                    <version>${kotlin.version}</version>
                    <executions>
                        <execution>
                            <id>compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>test-compile</id>
                            <phase>test-compile</phase>
                            <goals>
                                <goal>test-compile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
    


    kotiln をコンパイルで きるようにする と推測


    既存の Spec を実行



    GUI는 플러그인 入れないとできなそう

    クリックで飛ぶのも無理

    CUI를 사용하려면

    mvn test
    
    # Specification Heading
      ## Vowel counts in single word          
      ## Vowel counts in multiple word        
    


    통타


    Kotlin で書いた Step の実装ファイルを作成



    test/java に並列して 테스트/kotlin を作成

    imp.kt

    import com.thoughtworks.gauge.Step
    
    class HelloKotlin {
        @Step("test kotlin")
        fun hello(){
            println("Hello, kotlin")
        }
    }
    


    完全に Kotlin の文法でかく

    Hello Kotlin
    ---------------------------
    
    * test kotlin
    


    Kotlin의 사양 を呼び出す

    [ValidationError] /home/ryo/source/gauge-kotlin/specs/example.spec:16 Step implementation not found => 'test kotlin'
    Add the following missing implementations to fix `Step implementation not found` errors.
    



            @Step("test kotlin")
            public void testKotlin(){
                    throw new UnsupportedOperationException("Provide custom implementation");
            }
    
    


    だめぽい

                                <sourceDirs>
                                    <source>src/test/kotlin</source>
                                </sourceDirs>
    


    test-compile の 목표 に並列に
    ソースDIAで読み込まれてた

    # Specification Heading
      ## Hello Kotlin        Hello, kotlin
     
      ## Vowel counts in multiple word        
    


    読まれた

    ありがとう 유야히로오카 さん

    좋은 웹페이지 즐겨찾기