私はスプリングブートアプリケーションのいくつかのキュウリ試験を試みています。スプリングブートキュウリ試験
テストが実行される前にSpringブートが開始されていないようです。
何が欠けていますか?
https://bitbucket.org/oakstair/spring-boot-cucumber-example
私はスプリングブートアプリケーションのいくつかのキュウリ試験を試みています。スプリングブートキュウリ試験
テストが実行される前にSpringブートが開始されていないようです。
何が欠けていますか?
https://bitbucket.org/oakstair/spring-boot-cucumber-example
私は問題を発見し、レポを更新しました。
は、私はそれが動作を取得するには、以下のなかった:
RANDOM_PORT
@SpringBootTest
@ContextConfiguration
TestRestTemplate
へRestTemplate
から交換しました上記の手順:
https://github.com/BarathArivazhagan/Cucumber-spring-integration
ドキュメント:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
以上を追加するには:
@SpringBootTest
その場合@ContextConfiguration
にアプリケーションコンテキストをロードするの世話を還元剤です。
Springテストで自動的にTestRestTemplate
というBeanが提供されますが、これはautowiredが可能ですが、RestTemplateでも動作するはずです。
これはまだRANDOM_PORT
なしで実行されますが、テスト用にRANDOMポートを併用することもできます。
あなたがフィーチャーファイル、feature1
があるとしましょう、とorg.xyz.feature1
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {"pretty"},
features = "src/test/java/resources/feature/feature1",
glue = {"org.xyz.feature1"})
public class CucumberTest {
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Application.class},
webEnvironment = WebEnvironment.RANDOM_PORT)
@ContextConfiguration
@Ignore
@Transactional
public class FeatureTest extends CucumberTest {
@LocalServerPort
int randomServerPort;
@Given("........")
public void test_1 {
}
}
で
glueCode