मैवेन surefire- प्लगइन एकीकरण परीक्षण नहीं चलाता है (वे "आईटी" प्रत्यय द्वारा प्रत्यय के साथ नामित), लेकिन एसबीटी दोनों चलाता है: इकाई और एकीकरण। तो, इस व्यवहार को कैसे रोकें? वहाँ एक आम तरीका ScalaTest के लिए एकीकरण और इकाई परीक्षण भेद करने के लिए है (डिफ़ॉल्ट रूप से FeatureSpec-परीक्षण चलाने के नहीं है)एसबीटी को एकीकरण परीक्षण चलाने से कैसे रोकें?
12
A
उत्तर
19
कि वास्तव में http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing#additional-test-configurations-with-shared-sources पर एसबीटी पुस्तिका पर दर्ज है कैसे करना है:
//Build.scala
import sbt._
import Keys._
object B extends Build {
lazy val root =
Project("root", file("."))
.configs(FunTest)
.settings(inConfig(FunTest)(Defaults.testTasks) : _*)
.settings(
libraryDependencies += specs,
testOptions in Test := Seq(Tests.Filter(itFilter)),
testOptions in FunTest := Seq(Tests.Filter(unitFilter))
)
def itFilter(name: String): Boolean = name endsWith "ITest"
def unitFilter(name: String): Boolean = (name endsWith "Test") && !itFilter(name)
lazy val FunTest = config("fun") extend(Test)
lazy val specs = "org.scala-tools.testing" %% "specs" % "1.6.8" % "test"
}
कॉल यूनिट परीक्षणों के लिए sbt test
और दोनों के लिए sbt test fun:test
एकीकरण परीक्षण के लिए sbt fun:test
।
2
नवीनतम एसबीटी के साथ सबसे आसान तरीका IntegrationTest
कॉन्फ़िगरेशन और संबंधित सेटिंग्स here के रूप में लागू करने के लिए है, - और आपने अपने परीक्षण में src/it/scala
निर्देशिका में अपने परीक्षण डाले हैं।