2013-05-05 14 views
9

SBT ve Play ile çalışıyorum! Çerçeve. Şu anda, ikili ürünlerimizi artifakt olarak yayınladığımız boru hattımızda bir taahhüt aşamasındayız. Çiftler, dist göreviyle üretilir. Boru hattı daha sonra scalada yazılan duman ve kabul testleri gerçekleştirir. Onlar sbt ile çalıştırılır.SBT ile testleri derleyin ve daha sonra çalıştırılacak şekilde paketleyin

Yapmak istediğim şey, duman ve kabul testlerinin yanı sıra ikili derleme ve bunları artifakta yayınlamaktır. Bu, boru hattının bu ikilileri (test paketlerini) indirmesine ve bunları her defasında yeniden derlemek yerine uzun bir zaman almasına izin verecek.

Denemeyi denedim: jar'ı oluşturan derleme, ancak daha sonra testleri çalıştırmanın bir yolunu bulamıyorum.

+0

tam olarak "boru hattı" ile ne demek istiyorsunuz ki? "Boru hattı" Jenkins gibi ayrı bir yapı sunucusuna başvurur mu? –

+0

Evet, Jenkins tarafından yönetilen bir dağıtım hattımız var. Ne yaparsa, birisinin master'a basması, üzerinde testler yapması ve başarılı olması durumunda ikiliyi zor görevle kurduğu zaman kodu indirmesidir. Ardından bunu Artifactory'ye yayınlamaya devam eder. – dgrandes

+0

Neden hem build hem de testi aynı sınama düğümünde çalıştırmıyorsunuz anlamıyorum. Ayrıca, testlerim derlenmekten çok daha uzun sürer, bu yüzden seninkilerin ters olduğuna şaşırdım. –

cevap

11

sbt eserler

testi yayımlamak yok
publishArtifact in GlobalScope in Test:== false 

kaynak: https://github.com/sbt/sbt/blob/a7413f6415687f32e6365598680f3bb8545c46b5/main/src/main/scala/sbt/Defaults.scala#L1118

bu etkinleştirmek için nasıl

// enable publishing the jar produced by `test:package` 
publishArtifact in (Test, packageBin) := true 

// enable publishing the test API jar 
publishArtifact in (Test, packageDoc) := true 

// enable publishing the test sources jar 
publishArtifact in (Test, packageSrc) := true 

kaynak: http://www.scala-sbt.org/release/docs/Detailed-Topics/Artifacts

testi

Eğer boru hattı

aldığımız testi eser veya kurulum sbt yoluyla bir test projet

http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing.html

+0

Yani bunu başarmayı başardım. Testle ne üretiyorum: paket görevi bir kavanoz. Şimdi çalıştırmakta zorlanıyorum. Ana sınıfı bulamadığını söylüyor. Bütün test paketimin ana sınıfı nedir? – dgrandes

+0

Bir koşucu (http://www.scalatest.org/user_guide/using_the_runner) Düzenlemeleri gör –

+0

@dgrandes problemi çözüldü mü? –

İlgili konular