2017-02-22 17 views
-1

私は安心してキュウリを使用していくつかのサービステストを実行していますが、Mavenテストを使用するだけでローカルで正常に動作します。mvn updateを実行しない限り、mvn clean後にMavenテストが動作しないのはなぜですか?

問題は、私はきれいにMavenを実行した場合、その後、私はMavenの更新を実行する必要がありますか、それは(それが私のキュウリ機能ファイルを見つけることができません言う)は動作しませんです。参考のために、それは言う:

No features found at [classpath:classpath/classpath] 

これは私がMavenの更新を呼び出すことはできません竹を通じて、このランニングを持っている必要があり除き、大きな問題ではないでしょう。

だから私のどちらかがこの問題、またはどのように私はゴール/環境変数を通じてMavenのアップデートを実行することができますを引き起こすことが、そもそも私のPOMと間違っているかを把握する必要があります。

POMは唯一のものを報告/必要な依存関係を持つ、非常に簡単です。

<build> 
    <finalName>Test</finalName> 
    <directory>target</directory> 
    <outputDirectory>target/classes</outputDirectory> 
    <testOutputDirectory>target/test-classes</testOutputDirectory> 
    <sourceDirectory>src/main/java</sourceDirectory> 
    <testSourceDirectory>src/test/java</testSourceDirectory> 
    <resources> 
     <resource> 
      <directory>src/test/resources</directory> 
     </resource> 
    </resources> 
</build> 

これはIDEとしてEclipseを使用して、すべてのJava 8であり、次のようにPOMの ビルド部分があります。

答えて

0

私は私のポンポンでビルドセクションには何も指定しないよう、代わりにデフォルト値を使用します。ある

、私はランナーやサブパッケージと同じパッケージに私の機能ファイルを続けるだろう。

例えば、パッケージのディレクトリにse/thinkcode/tage ように住むことができるランナー:

./test/resources/se/thinkcode/tage 

これは私を可能にする:これは、機能のファイルがディレクトリに住んでいる必要があることを意味し

./test/java/se/thinkcode/tage 

ランナーの構成を最小限に抑えます。

package se.thinkcode.tage; 

import cucumber.api.junit.Cucumber; 
import org.junit.runner.RunWith; 

@RunWith(Cucumber.class) 
public class RunCukesTest { 
} 

あなたはMavenのからのJUnitを使ってキュウリを実行したい場合、これが可能な最小構成です:私は通常、このようになりますランナーを使用しています。

それさえ小さくなるキュウリチームによって提供される例:アドバイスhttps://github.com/cucumber/cucumber-java-skeleton

+0

ありがとう!私は現在、すべてのテスト/機能ファイルを同じパッケージの下に持っています。私はそれが働くための最も簡単な方法だと考えました。私は明日このショットを与える必要があります。それがうまくいくなら私はこれを正しいと喜んでマークします。 – canpan14

+0

これが私のために働くことに気付いただけです!再度、感謝します。 – canpan14

0

はこれを固定キュウリのオプションの機能/糊を定義するように見えます。 私はそこに良いオプションがあると思います。

私は次のキュウリのオプションを追加しました:

features ="src/test/java", 
    glue = "packagename", 
関連する問題